Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 在椋鸟身上使用物理注射器不起作用_Actionscript 3_Box2d_Physics - Fatal编程技术网

Actionscript 3 在椋鸟身上使用物理注射器不起作用

Actionscript 3 在椋鸟身上使用物理注射器不起作用,actionscript-3,box2d,physics,Actionscript 3,Box2d,Physics,我试图在我的椋鸟游戏中使用物理注入器,但在我的“.”上出现了这个错误 声明这里是不允许的。在Physics Injector博客上说“只需将静态变量PhysInjector.STARLING设置为true,就是这样!” 我是不是把它放错地方了?我做错了什么 private function injectPhysics():void { static var PhysInjector.STARLING = true; physics = ne

我试图在我的椋鸟游戏中使用物理注入器,但在我的“.”上出现了这个错误

声明这里是不允许的。在Physics Injector博客上说“只需将静态变量PhysInjector.STARLING设置为true,就是这样!”

我是不是把它放错地方了?我做错了什么

        private function injectPhysics():void
    {
        static var PhysInjector.STARLING = true;
        physics = new PhysInjector (stage, new b2Vec2(0, 60), true)
        var floorObject:PhysicsObject = physics.injectPhysics(floor, PhysInjector.SQUARE, new PhysicsProperties({isDynamic:false, friction:0.5, restitution:0.5}));
        var presentP:PhysicsObject = physics.injectPhysics(present, PhysInjector.SQUARE, new PhysicsProperties({isDynamic:true, friction:0.2, restitution:0.5}));
    }

在不了解PhysInjector如何初始化的更多信息的情况下,请尝试以下操作:

private function injectPhysics():void {
    PhysInjector.STARLING = true;
    physics = new PhysInjector (stage, new b2Vec2(0, 60), true);
    var floorObject:PhysicsObject = physics.injectPhysics(floor, PhysInjector.SQUARE, new PhysicsProperties({isDynamic:false, friction:0.5, restitution:0.5}));
    var presentP:PhysicsObject = physics.injectPhysics(present, PhysInjector.SQUARE, new PhysicsProperties({isDynamic:true, friction:0.2, restitution:0.5}));
}
如果不起作用,请尝试以下方法:

private function injectPhysics():void {
    physics = new PhysInjector (stage, new b2Vec2(0, 60), true);
    physics.STARLING = true;
    var floorObject:PhysicsObject = physics.injectPhysics(floor, PhysInjector.SQUARE, new PhysicsProperties({isDynamic:false, friction:0.5, restitution:0.5}));
    var presentP:PhysicsObject = physics.injectPhysics(present, PhysInjector.SQUARE, new PhysicsProperties({isDynamic:true, friction:0.2, restitution:0.5}));
}
只需从代码中删除“static”和“var”空格

static var PhysInjector.STARLING = true;
应该是

PhysInjector.STARLING = true;

去掉“static var”这个词,我认为他们不希望你尝试重新定义变量,而只是分配它。第一个应该为从该点开始创建的所有PhysInjector实例将STARLING变量设置为true。第二种方法应该使椋鸟var仅适用于物理实例。
PhysInjector.STARLING = true;