美文网首页
用EC5/EC6自定义class的区别及用法 -- Phaser

用EC5/EC6自定义class的区别及用法 -- Phaser

作者: 布袋的世界 | 来源:发表于2018-12-04 16:09 被阅读20次
    custom class

    EC6 自定义class

    class Brain extends Phaser.GameObjects.Sprite {
    
        constructor (scene, x, y)
        {
            super(scene, x, y);
    
            this.setTexture('brain');
            this.setPosition(x, y);
        }
    
        preUpdate (time, delta)
        {
            super.preUpdate(time, delta);
    
            this.rotation += 0.01;
        }
    
    }
    

    EC5 自定义class

    var Bunny = new Phaser.Class({
        Extends:Phaser.GameObjects.Sprite,
        initialize:function Bunny(scene,x,y,speed){
            Phaser.GameObjects.Sprite.call(this,scene);
            this.setTexture('bunny');
            this.setPosition(x, y);
            this.setScale(0.3);
            this.speed = speed;
            
        },
        preUpdate(time,delta){
            this.rotation += (0.01+ this.speed * 0.0001) ;
        }
    });
    

    完整代码:

    var Bunny = new Phaser.Class({
        Extends:Phaser.GameObjects.Sprite,
        initialize:function Bunny(scene,x,y,speed){
            Phaser.GameObjects.Sprite.call(this,scene);
            this.setTexture('bunny');
            this.setPosition(x, y);
            this.setScale(0.3);
            this.speed = speed;
            
        },
        preUpdate(time,delta){
            this.rotation += (0.01+ this.speed * 0.0001) ;
        }
    });
    var config = {
        type: Phaser.AUTO,
        width: 600,
        height: 480,
        parent: 'phaser-example',
        scene: {
            preload: preload,
            create: create
        }
    };
    
    var game = new Phaser.Game(config);
    
    function preload (){
        //http://www.ifiero.com/uploads/ifiero-logo_512x512.png
        // this.load.image('bunny', 'http://www.ifiero.com/images/ifiero-logo_512x512.png');
         this.load.setBaseURL('http://labs.phaser.io');
         this.load.image('bg', 'assets/pics/purple-dots.png');
         this.load.image('bunny', 'assets/sprites/bunny.png');
         
    }
    
    function create (){
    
        this.add.image(0, 0, 'bg').setOrigin(0).setScale(0.8);
        this.add.existing(new Bunny(this, 150, 150,100));
        this.add.existing(new Bunny(this, 250, 250,200));
        this.add.existing(new Bunny(this, 350, 350,300));
    }
    
    

    更多游戏教学:www.iFIERO.com -- 为游戏开发深感自豪

    相关文章

      网友评论

          本文标题:用EC5/EC6自定义class的区别及用法 -- Phaser

          本文链接:https://www.haomeiwen.com/subject/rqfvcqtx.html