07/05/24 23:11:52 a+ZLZcAk
onClipEvent (enterFrame) {
// 押した方向によってベクトル成分を加算
var vec = _root.Vec2dCreate(0 , 0);
if(Key.isDown(Key.UP)) vec.y -= 1;
if(Key.isDown(Key.DOWN)) vec.y += 1;
if(Key.isDown(Key.LEFT)) vec.x -= 1;
if(Key.isDown(Key.RIGHT)) vec.x += 1;
vec = _root.Vec2dNormalize( vec );
vec = _root.Vec2dScale( vec , 0.5 );
spd = _root.Vec2dAdd(spd , vec);
if(_root.Vec2dLength(spd) > 5){
spd = _root.Vec2dNormalize( spd );
spd = _root.Vec2dScale( spd , 5 ); ←コレ
}
var pos = _root.Vec2dAdd(pos, spd);
_x = pos.x;
_y = pos.y;
}
hakuhinさんのベクトルを使ってみようのベクトルで移動制限を付けよう
のプログラムなんですがspd = _root.Vec2dScale( spd , 5 )の倍率を
6倍以上にすると動きがバグるのですが、なぜですか?