タグ :

ループ(両端) : ActonScript

投稿日 : 2008年9月11日 | 更新日 : 2010年11月03日 前のページへ戻る

マウスに応じて水平方向にループするサンプルです。 ライブラリ : 下記画像をシンボルとして作成。リンケージ名Container。 loopdoubleend.gif
//--------------------------------------------------------------------------
//
//   Container
//
//--------------------------------------------------------------------------
function Container(x, y, i)
{
	this._x = x;
	this._y = y;
	var index:Number = i;
	var containers:Array = [];
	this.initContainer = function(arr)
	{
		containers = arr;
		this.onEnterFrame = moveHandler;
	};
	var moveHandler = function ()
	{
		var vx = _root._xmouse - Stage.width / 2;
		vx *= 0.2;
		if (this._x + this._width < 0 && vx < 0)
		{

			switch (index)
			{
			case 0 :
			trace(vx);
				this._x = containers[1]._x + this._width-vx;
				this._x += vx;
				break;
			case 1 :
				this._x = containers[0]._x + this._width;
				this._x += vx;
				break;
			default :
				break;
			}
		}
		else if (this._x > Stage.width && vx > 0)
		{
			switch (index)
			{
			case 0 :
				this._x = containers[1]._x - this._width-vx;
				this._x += vx;
				break;
			case 1 :
				this._x = containers[0]._x - this._width;
				this._x += vx;
				break;
			default :
				break;
			}
		}
		else
		{
			this._x += vx;
		}
	};
}
//--------------------------------------------------------------------------
//
//   Loop
//
//--------------------------------------------------------------------------
function Loop()
{
	var containers = [];
	this.initLoop = function()
	{
		containers[0] = _root.attachMovie("Container", "container0", _root.getNextHighestDepth(), new Container(-50, 25, 0));
		containers[1] = _root.attachMovie("Container", "container1", _root.getNextHighestDepth(), new Container(-450, 25, 1));
		containers[0].initContainer(containers);
		containers[1].initContainer(containers);
		border.swapDepths(_root.getNextHighestDepth());
	};
}
//--------------------------------------------------------------------------
//
//   main処理
//
//--------------------------------------------------------------------------
var o = new Loop();
o.initLoop();

ActionScript2.0 | 固定リンク | Comments (0)

関連記事

このページの上へ移動

コメント

コメントはまだありません。

コメントの投稿

改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。

 

 

 


トラックバックURL

http://www.findxfine.com/flash/actionscript/733.html/trackback

このページの上へ