練習課題B
if分を使って条件分岐
【B01】
「ムービークリップの幅」を「100」に変更する。
onClipEvent (load) { var speed:Number = 10; //移動速度 var leftEdge:Number = 0; //左端の座標 var rightEdge:Number = 550; //右端の座標 } onClipEvent (enterFrame) { this._x += speed; if ( this._x >= rightEdge) { this._x = leftEdge-this._width/2; } }
【B02】
左端から右端に移動して、そこで反転するムービーを作りなさい。
以下の記述では、端で反転しません。
反転するような記述に書き直しなさい。
onClipEvent (load) { var speed:Number = 10; //移動速度 var leftEdge:Number = 0; //左端の座標 var rightEdge:Number = 550; //右端の座標 } onClipEvent (enterFrame) { if (_x > rightEdge) { _x -= speed; } else { _x += speed; } }
この記述ができたら、はみ出してしまう部分を内側で反転するように記述しなさい。
onClipEvent (load) { var speed:Number = 10; //移動速度 var leftEdge:Number = 0; //左端の座標 var rightEdge:Number = 550; //右端の座標 } onClipEvent (enterFrame) { if (this._x > rightEdge || this._x < leftEdge) { speed *= -1; } this._x += speed; }
この時点では、ムービークリップの半分がはみ出てから反転します。
その差分を考慮して記述します。
onClipEvent (load) { var speed:Number = 10; //移動速度 var leftEdge:Number = 0; //左端の座標 var rightEdge:Number = 550; //右端の座標 } onClipEvent (enterFrame) { if (this._x > rightEdge - this._width/2 || this._x < leftEdge + this._width/2) { speed *= -1; } this._x += speed; }
※スタート位置が端から離れていないと、動きません。