Action script|跳ね返し
onClipEvent (load)
◎ムービークリップがロードされたとき、{ }内の処理をする
onClipEvent (enterFrame)
◎そのムービークリップがあるフレームが読み込まれるたびに、{ }内の処理をする
練習問題2
弾むムービークリップの作成
onClipEvent (load) { var speed:Number = 0; var accel:Number = 1; var grandPos:Number =320; //跳ね返るY座標位置 } onClipEvent (enterFrame){ this._y += speed; if (this._y >= grandPos){ //地面に当たったか? speed *= -1; //速度に-1をかけて符号を反転 }else{ speed += accel; //速度に加速度を足して速度を上げる。 } }
onClipEvent (load) { speed =10; rightEdge =500; leftEdge = 0; } onClipEvent (enterFrame) { if(_x > rightEdge) { speed *= -1; } if(_x < leftEdge) { speed *= -1; } _x += speed; }
練習問題3
onClipEvent (load) { speedX =10; speedY =8; rightEdge =460; leftEdge = 0; topEdge = 0; bottomEdge = 340; } onClipEvent (enterFrame) { if (_x>rightEdge ){ speedX*=-1; } if (_x<leftEdge) { speedX*=-1; } if (_y>bottomEdge) { speedY*=-1; } if (_y<topEdge) { speedY*=-1; } _x += speedX; _y += speedY; }
正確には(天地サイズを微調整サイズ)
onClipEvent (load) { speedX =10; speedY =10; rightEdge =510; leftEdge = -50; topEdge = -50; bottomEdge = 400; } onClipEvent (enterFrame) { if (_x > rightEdge - _width/2 || _x < leftEdge + _width/2) { speedX *= -1; } _x += speedX; if (_y > bottomEdge - _height/2 || _y < topEdge + _height/2) { speedY *= -1; } _y += speedY; }