以下のようなサンプルを書いてみました。
ご質問に記載されているスクリプトをほぼコピペさせていただきましたが、3倍の速度で動いているようには感じられませんでした。
package
1 {
2 import flash.display.Sprite;
3 import flash.display.StageAlign;
4 import flash.display.StageScaleMode;
5 import flash.events.Event;
6
7 /**
8 * ...
9 * @author kenics
10 */
11 [SWF(width="400",height="300",frameRate="24",backgroundColor="0x000000")]
12 public class goLeft extends Sprite
13 {
14
15 private var _canvas:Sprite = new Sprite();
16 private var left:Sprite = new Sprite();
17
18 private var dx:Number = -3; // x移動量
19 public function goLeft()
20 {
21 if (stage) init();
22 else addEventListener(Event.ADDED_TO_STAGE, init);
23 }
24 private function init(e:Event = null):void
25 {
26 removeEventListener(Event.ADDED_TO_STAGE, init);
27
28 stage.scaleMode = StageScaleMode.NO_SCALE;
29 stage.align = StageAlign.TOP_LEFT;
30
31 addChild(_canvas);
32
33 _canvas.x = 0;
34 _canvas.y = 0;
35 _canvas.graphics.clear();
36
37 createChild(_canvas, left, 0, 0, 15, 15, 0xffffff);
38 left.x = 400 - 15;
39 left.y = 300 / 2;
40
41
42 // パターン1 無名関数で実行 -- 始まり --
43 left.addEventListener(Event.ENTER_FRAME,function(event:Event):void{ // パターン2 やパターン3 のときはコメントにする
44 // ムービークリップを移動
45 left.x = left.x+dx;
46 //left.y = left.y+dy;
47 if (left.x < -1000){
48 left.x = 850;
49 }
50 });
51
52 // パターン1 -- 終わり --
53
54 // パターン2 とパターン 3 のときに利用するイベントリスナー
55 //left.addEventListener(Event.ENTER_FRAME, goingLeft); // パターン1のときはコメントにする
56
57 // パターン2 関数内の関数を実行 -- 始まり --
58 /* function goingLeft(event:Event):void{
59 // ムービークリップを移動
60 left.x = left.x+dx;
61 //left.y = left.y+dy;
62 if (left.x < -1000){
63 left.x = 850;
64 }
65 }
66 */ // パターン2 -- 終わり --
67 }
68
69 // パターン3 関数を実行 -- 始まり --
70 /* private function goingLeft(event:Event):void{
71 // ムービークリップを移動
72 left.x = left.x+dx;
73 //left.y = left.y+dy;
74 if (left.x < -1000){
75 left.x = 850;
76 }
77 }
78 */
79 // パターン3 -- 終わり --
80 private function createChild(parent:Sprite,target:Sprite,x:int,y:int,w:int,h:int,color:int):void
81 {
82
83 target.graphics.beginFill(color);
84 target.graphics.drawRect(0, 0,w, h);
85 target.graphics.endFill();
86 target.x = x;
87 target.y = y;
88 target.useHandCursor = true;
89 target.buttonMode = true;
90 parent.addChild(target);
91 }
92 }
93 }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/30 16:27