1

こんにちは、マウスが上にあるときに (Tweenlight を使用して) X 軸に沿ってボックスを移動するだけの as3 ファイル (以下にリスト) があります。私がやりたいことは、ボックスを 30 度の角度に置き、ボックスをこの角度に沿って移動させることです。誰が私が間違っているのか教えてもらえますか?

import com.greensock.*;
import com.greensock.easing.* ;


cont.addEventListener(MouseEvent.ROLL_OVER, onOver);
cont.addEventListener(MouseEvent.ROLL_OUT, onOut);
var stx:Number;

function onOver(e:MouseEvent):void
{
    var stx:Number = cont.x +20 ;

    TweenLite.to(cont, 1, { x:stx });
}

function onOut(e:MouseEvent):void
{
    stx = cont.x - 20 
    TweenLite.to(cont, 1, { x:stx } );
}

これがライブの例です: http://img42.imageshack.us/i/box.swf/

4

1 に答える 1

3

最も難しいのは、ボックスを 30 度の角度で線上に移動することです。三角法を使用する必要があります...SOHCAHTOAを覚えていますか?

したがって、基本的には x 方向と y 方向に移動する必要があります。

onOver ハンドラで...

x を 20 Math.cos(30 Math.PI/180)に移動したい

y を 20 Math.sin(30 Math.PI/180)に移動したい

cos と sin は、オブジェクトを 30 度に沿って動かし続けるための x と y のステップを与えます。

オブジェクトをもっと動かしたい場合は、20 パラメータを変更してください。

于 2009-12-11T23:00:42.317 に答える