人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

JavaScriptでWebページを作成しているのですがどうしてもできないところがあるため質問させていただきます。
以下のようにして画像を横方向に動かすコードを書いているのですが、これを斜めに動かすものに変えたいと思っています。
斜めにするためにはどうすればいいのでしょうか。
わかる方いましたら教えて下さると助かります。
よろしくお願いします。

var draw3dx = -1;
var draw3LargeHeight = -1;

var c1X = 0;
var c1Y = 0;
var c1Dx = 1;

context.drawImage(c1, c1X, c1Y, c1.width * scale, c1.height * scale);



//横方向の移動
c1X -= c1Dx * 10;
//動く範囲を決め、範囲外の場合は向きを変える
if(c1X < 0){
c1Dx *= -1;
}
if(c1X > (canvas.width - c1.width * scale)){
c1Dx *= -1;
}
}

●質問者: htn2134
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3

縦方向は、下向きが正なことだけ気を付けて、横方向と同じに書けば良いです。

var draw3dx = -1;
var draw3LargeHeight = -1;

var c1X = 0;
var c1Y = 0;
var c1Dx = 1;
var c1Dy = 1; // ★ここと

context.drawImage(c1, c1X, c1Y, c1.width * scale, c1.height * scale);

//横方向の移動
c1X -= c1Dx * 10;
//動く範囲を決め、範囲外の場合は向きを変える
if(c1X < 0){
 c1Dx *= -1;
}
if(c1X > (canvas.width - c1.width * scale)){
 c1Dx *= -1;
}

// ★ここから
//縦方向の移動
c1Y -= c1Dy * 10;
//動く範囲を決め、範囲外の場合は向きを変える
if(c1Y < 0){
 c1Dy *= -1;
}
if(c1Y > (canvas.height - c1.height * scale)){
 c1Dy *= -1;
}
// ★ここまで

c1Dy にかける数字の大きさで斜めの角度が決まります。
同じ数字の場合には、ななめ45°。

ここら辺りはすでにやってるということであれば、

あたりをしてくれないと、ピンポイントな回答ができません。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ