0
私は船を、直面している角度に向かって設定速度で移動する必要があるゲームを作成しています。私はこのコードを使って、ゲームのどこかで特異船を移動させましたが、配列の中に複雑なものがあると仮定します。AS3 - 角度に関連して配列オブジェクトを移動する
ご協力いただければ幸いです。
var ship1 = this.addChild(new Ship());
var ship2 = this.addChild(new Ship());
var ship3 = this.addChild(new Ship());
var ship4 = this.addChild(new Ship());
var shipSpeed1 = 10;
var shipArray: Array = [];
shipArray.push(ship1, ship2, ship3, ship4);
for (var i: int = 0; i < shipArray.length; i++) {
var randomX: Number = Math.random() * stage.stageHeight;
var randomY: Number = Math.random() * stage.stageHeight;
shipArray[i].x = randomX;
shipArray[i].y = randomY;
shipArray[i].rotation = 90;
shipArray[i].x += Math.sin(shipArray[i].rotation * (Math.PI/180)) * shipSpeed1;
shipArray[i].y -= Math.cos(shipArray[i].rotation * (Math.PI/180)) * shipSpeed1;
}
私もこれを同じ機能の中に組み込んでいますが、これはどちらでも動作しません。もう一度、私が最初にこの作業
if (shipArray[i].x < 0) { //This allows the boat to leave the scene and
enter on the other side.
shipArray[i].x = 750;
}
if (shipArray[i].x > 750) {
shipArray[i].x = 0;
}
if (shipArray[i].y < 0) {
shipArray[i].y = 600;
}
if (shipArray[i].y > 600) {
shipArray[i].y = 0;
}
あなたは単数形の船を移動するために使用されるコードを表示します。今のコードでは、最初の配置を超えて何も移動していません。 – BadFeelingAboutThis
@BadFeelingAboutThis var ship = evt.currentTarget;\t ship.x + = Math.sin(ship.rotation *(Math.PI/180))* randomSpeed(4,15); //私の乱数を使って船をコントロールする \t ship.y - = Math.cos(ship.rotation *(Math.PI/180))* randomSpeed(4,15);それはまったく同じです。 – AndyGUY