アニメーションを毎回 120 ピクセル進めたい。代わりに、アニメーションは新しい位置から進むのではなく、一番下に戻ります。新しい位置を占めますが、常に最初に下に戻ります。アニメーションを毎回現在の位置から進めるにはどうすればよいですか?
GOAL
アニメーションを現在の新しい位置から 120 ピクセル進め、10 ピクセル後に繰り返すようにします。
問題
アニメーションは、進む前に毎回一番下にリセットされます。それが Tweener の問題なのか、ループの設定方法なのか、それとも関係のないものなのかはわかりません。このコードを変更する方法の例を教えていただければ幸いです。
代替テキスト http://www.ashcraftband.com/myspace/videodnd/tweener.jpg
NumbersView.as 'コードは機能しますが、説明したようにめちゃくちゃです'
package
{
import flash.display.DisplayObject;
import flash.display.MovieClip;
import flash.utils.Dictionary;
import flash.events.Event;
import caurina.transitions.Tweener;
public class NumbersView extends MovieClip
{
private var _listItems:Array;
private var previousNums:Array;
private const numHeight:int = 120;
public function NumbersView()
{
_listItems = new Array();
previousNums = new Array();
//Tweener.init();
var item:NumberImage;
for (var i:Number = 0; i < 9; i++) {
item = new NumberImage();
addChild(item);
item.x = i * item.width;
_listItems.push(item);
}
}
public function setTime($number:String):void {
var nums:Array = $number.split("");
//trace("$number = " + $number);
for (var i:Number = 0; i < nums.length; i++) {
if (nums[i] == previousNums[i]) continue;
Tweener.removeTweens(_listItems[i]);
//newY:int = -numHeight;
var newY:int = int(nums[i]) * -numHeight;
trace("newY = " + newY);
trace("currY = " + _listItems[i].y);
if (_listItems[i].y < 0) _listItems[i].y = numHeight;
Tweener.addTween(_listItems[i], { y:newY, time:3 } );
}
previousNums = nums;
}
}
}
代替テキスト http://www.ashcraftband.com/myspace/videodnd/tweener_.jpg