2

アニメーションを作成しましたが、魚が水槽の水槽から出てきました。どうすればそれを閉じ込めることができますか?

ここにフィドルのリンクがあります: http://jsfiddle.net/832Fx/3/

ここにいくつかのコード例があります:

var $wnd = $('.fishtank');
$wnd.resize(function() {
    animeVars.rightMargin = $wnd.width();
    animeVars.bottomMargin = $('.fishtank').height();
}).resize();
4

1 に答える 1

0

クールな魚。

これはやや奇妙です:

var newCoords = {
  top: Math.random() * (animeVars.topMargin - animeVars.bottomMargin + 1) + animeVars.bottomMargin,
  left: Math.random() * (animeVars.leftMargin - animeVars.rightMargin + 1) + animeVars.rightMargin
};

あなたがやろうとしているのは、最初から X と最後から Y の間の軸上のランダムな位置を選択することだと思います:

      X                    Y
    |---|--------------|-------|

次に、次のようなことをしたいと思うでしょう:

pos = Math.random() * (canvasWidth - X  Y) + X;

キャンバスの幅がどこかにあると確信しています: $wnd.width().

于 2013-11-12T20:20:22.713 に答える