冲动来自哪里?

时间:2014-05-26 09:58:57

标签: actionscript-3 flash box2d flashdevelop

我正在使用AS3中的Box2D物理用A,D键(左和右)编写角色移动代码,我不知道b2body在你的代码中是如何获得impulse.x的即将看到,

switch (moveState)
    {
    case "RIGHT":
        if (mainChar.GetLinearVelocity().x = 1.3)
        {
            impulse.x = 0.0;
            impulse.y = 0.0;
            mainChar.ApplyImpulse(impulse, mainChar.GetPosition());
        }
        break;
    case "LEFT":
        if (mainChar.GetLinearVelocity().x = -1.3)
            {
                impulse.x = 0.0;
                impulse.y = 0.0;
                mainChar.ApplyImpulse(impulse, mainChar.GetPosition());
            }

    case "STOP":
        if (mainChar.GetLinearVelocity().x > 0) 
        {                       
            impulse.x = -mainChar.GetLinearVelocity().x; 
            impulse.y = 0.0;
            mainChar.ApplyImpulse(impulse, mainChar.GetPosition());
            impulse.x = 0.0;
        }
        if (mainChar.GetLinearVelocity().x < 0)
        {
            impulse.x = +mainChar.GetLinearVelocity().x; 
            impulse.y = 0.0;
            mainChar.ApplyImpulse(impulse, mainChar.GetPosition());
            impulse.x = 0.0;
        }
            if (mainChar.GetLinearVelocity().x = 0)
            {
                impulse.x = 0.0;
                break;  
            }

在代码中我没有给出impulse.x值1.3或-1.3。我不知道有关陈述的任何内容吗? ^^&#34;

编辑:哦,好吧,我猜&#34; =&#34;为其分配值。我对此并不了解 - 对我来说仍然有点奇怪,因为它在if条件下。 (我的目的是测试平等,&#34; ==&#34;)

然而,我不想要这个,是吗?我读过我不应该设置一个线性速度而是让b2body加速并保持所需的速度。

1 个答案:

答案 0 :(得分:1)

它来自这里:if (mainChar.GetLinearVelocity().x = 1.3)。这是一项任务而非比较。