1

http://blog.shaperstudio.com/2010/10/as3-create-a-slingshot-with-an-elastic-effect/で入手できるシンプルな AS3 パチンコを改善しようとして います。より現実的に。

ボールを任意の方向に向けることができるように既に変更しましたが、今はパチンコの最大の引きを楕円形の領域に制限する関数を作成しようとしています。楕円 2 フォーカス:

if ( mouseX > centerX + _maximumPULL.x) _mouse_x = centerX + _maximumPULL.x;                
            else if ( mouseX < centerX - _maximumPULL.x) _mouse_x = centerX - _maximumPULL.x;
            else _mouse_x = mouseX;

if ( mouseY > centerY + _maximumPULL.y) _mouse_y = centerY + _maximumPULL.y;                
            else if ( mouseY < centerY - _maximumPULL.y) _mouse_y = centerY - _maximumPULL.y;
            else _mouse_y = mouseY;

_maximumPULL はポイント変数で、次のようにエラスティックをどこまで引っ張ることができるかを返します。

_maximumPULL = new Point(200 * Math.cos(degree * Math.PI / 180), 100 * Math.sin(degree * Math.PI / 180));

私は何時間もコードをいじっていますが、これは私のようなプログラミングのバックグラウンドがない人にとっては多すぎることを知っていますが、手放すことはできません。夢中になっています...

ここで同様の問題を理解しようとしています: http://www.soundstep.com/blog/2011/04/08/knob-as3-drag-on-circle-or-ellipse/

そしてここ:Ellipseを作成するためのActionScript 3三角方程式

私を助けてくれませんか?

4

1 に答える 1

0

正確にはあなたが求めているものではないかもしれませんが、必要な正確な形状を(フラッシュで、またはプログラムでgraphicsクラスを使用して)描画してから、ボールと許可された領域との間の衝突を確認してください。

mouseMove イベント関数内に次のようなものを追加することで、非常に簡単にコーディングできます。

if (theBall.hitTestObject( allowedRange )){
    //Put your code that figures out where the ball should be
}//otherwise, it won't alter the position of the ball :D
于 2012-04-18T02:58:39.460 に答える