【AS3】タイル状に画像を並べる

| | トラックバック(0)

忘れてたのでメモ

画面のサイズに応じて画像を敷き詰めるやり方。ブラウザのリサイズも対応しています。
下記の部分がステージの横幅、縦幅に応じて画像のおける数を算出しています。

_boxRow = int(stage.stageHeight / (BOX_H + PADDING)) + 1;
_boxCol = int(stage.stageWidth / (BOX_W + PADDING)) + 1;

ソース全文

package  
{
	import flash.display.MovieClip;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;
	
	public class Main extends MovieClip{
		
		private var BOX_W:int = 140;
		private var BOX_H:int = 140;
		private var PADDING:int = 5;
		private var _boxRow:int;
		private var _boxCol:int;
		private var _boxContainer:Sprite;
		private var _box:Box;
		
		public function Main() {
			addEventListener(Event.ADDED_TO_STAGE, init);
		}
		
		private function init(e:Event = null):void {
			stage.addEventListener(Event.RESIZE, resizeHnadler);
			stage.scaleMode = StageScaleMode.NO_SCALE; 
			stage.addEventListener(MouseEvent.CLICK, clickHandler);
			stage.align = "TL"  
			trace("init")
			_boxContainer = new Sprite();
			_boxContainer.y = stage.stageHeight;
			addChild(_boxContainer);
			_boxContainer.y = 0;
			_boxRow = int(stage.stageHeight / (BOX_H + PADDING)) + 1;
			_boxCol = int(stage.stageWidth / (BOX_W + PADDING)) + 1;
			
			var i:int;
			var j:int;
			for (i = 0; i < _boxRow; i++) {
				for (j = 0; j < _boxCol; j++) {
					_box = new Box(i);
					_box.x = ((BOX_W  + PADDING)* j);
					_box.y =0+ ((BOX_H  + PADDING) * i);
					_box.addEventListener(Event.ENTER_FRAME, addHandler);
					_boxContainer.addChild(_box);
				}
			}
		}

             private function resizeHnadler(e:Event):void {
			removeChild(_boxContainer);
			init();
		}
		
	}

}

トラックバック(0)

このブログ記事を参照しているブログ一覧: 【AS3】タイル状に画像を並べる

このブログ記事に対するトラックバックURL: http://alwaysfinetuning.com/mt/mt-tb.cgi/100

このブログ記事について

このページは、が2009年11月24日 17:02に書いたブログ記事です。

ひとつ前のブログ記事は「【AS3,PHP】crossdomain.xmlを使わずに外部のXMLにアクセスする」です。

次のブログ記事は「[怪] お化け大学校」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。