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;
}