首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在phase.js中旋转汽车

如何在phase.js中旋转汽车
EN

Stack Overflow用户
提问于 2016-01-11 09:41:07
回答 1查看 175关注 0票数 0

当我使用这段代码时,我面临这样的错误:Uncaught TypeError: Cannot read property 'angle' of undefined.

代码语言:javascript
复制
var app = angular.module('myapp',[]);
app.controller('mycontrol',function($scope){
var game = new Phaser.Game(700, 590, Phaser.AUTO, 'cargame');
var mainState = { 
 preload:function(){
    game.load.image('car', 'images/car90.png');
},

create:function(){
    game.physics.startSystem(Phaser.Physics.ARCADE);
       this.car =this.game.add.sprite(game.world.centerX,game.world.centerY,'car');
        this.car.anchor.setTo(0.5,0.5);

        game.physics.arcade.enable(this.car);
        this.car.body.allowRotation = true;  
},

update:function(){


            if(game.input.keyboard.isDown(Phaser.Keyboard.LEFT)){
                this.game.car.angularVelocity = -200;
            }
            else if(game.input.keyboard.isDown(Phaser.Keyboard.RIGHT)){
                this.game.car.body.angularVelocity = 200;
            }
            else if(game.input.keyboard.isDown(Phaser.Keyboard.UP)){
               this.game.car.velocity.copyFrom(game.physics.arcade.velocityFromAngle(game.car.angle, 200));
            }
            else{
                this.car.body.angularVelocity = 0;
                 this.car.body.velocity.x =0;
                this.car.body.velocity.y = 0;
            }
},
};

$scope.car1 = function(){
    game.state.add('main', mainState);  
game.state.start('main'); 

};
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-11 10:16:38

你把this.game.car和game.car混在一起。此外,速度和angularVelocity必须应用于精灵体。

试试这个:

代码语言:javascript
复制
var game = new Phaser.Game(700, 590, Phaser.AUTO, 'cargame');
var mainState = { 
 preload:function(){
    game.load.image('car', 'notfonud');
},

create:function(){
    game.physics.startSystem(Phaser.Physics.ARCADE);
    this.car =this.game.add.sprite(game.world.centerX,game.world.centerY,'car');
    this.car.anchor.setTo(0.5,0.5);

    game.physics.arcade.enable(this.car);
    this.car.body.allowRotation = true;  
},

update:function(){

            
            if(game.input.keyboard.isDown(Phaser.Keyboard.LEFT)){
                this.car.body.angularVelocity = -200;
            }
            else if(game.input.keyboard.isDown(Phaser.Keyboard.RIGHT)){
                this.car.body.angularVelocity = 200;
            }
            else if(game.input.keyboard.isDown(Phaser.Keyboard.UP)){
               this.car.body.velocity.copyFrom(game.physics.arcade.velocityFromAngle(this.car.angle, 200));
            }
            else{
                this.car.body.angularVelocity = 0;
                 this.car.body.velocity.x =0;
                this.car.body.velocity.y = 0;
            }
},
};
game.state.add('main', mainState);  
game.state.start('main');
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/phaser/2.4.4/phaser.min.js"></script>
<div id="cargame"></div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34718217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档