[cocos2d-js]chipmunk例子(二)

[cocos2d-js]chipmunk例子(二),第1张

概述var TAG_SPRITE_BALL = 1;var TAG_SPRITE_USER = 2;var TAG_SPRITE_NPC = 3;var PTM_RATIO = 32;var GRABABLE_MASK_BIT = 1<<31;var NOT_GRABABLE_MASK = ~GRABABLE_MASK_BIT;var MainLayer = cc.Layer.exten
var TAG_SPRITE_BALL = 1;var TAG_SPRITE_USER = 2;var TAG_SPRITE_NPC = 3;var PTM_RATIO = 32;var GRABABLE_MASK_BIT = 1<<31;var NOT_GRABABLE_MASK = ~GRABABLE_MASK_BIT;var MainLayer = cc.Layer.extend({    _ball:null,_man:0,space:this._super();        var size = cc.director.getWinSize();        this._ball = new Ball();        this._ball.x = size.wIDth / 2;        this._ball.y = size.height / this.addChild(this._ball);        // 左方向        var btnleft = cc.MenuItemImage.create(            res.btn_left_up,res.btn_left_down,function () {                this._man.runleft();            },this);        btnleft.x = 50;         右方向        var btnRight = cc.MenuItemImage.create(            res.btn_right_up,res.btn_right_down,255); line-height:1.5!important">this._man.runRight();            },255); line-height:1.5!important">this);        btnRight.x = 125;         power        var btnPower = cc.MenuItemImage.create(            res.btn_power_up,res.btn_power_down,255); line-height:1.5!important">this._man.power();            },255); line-height:1.5!important">this);        btnPower.x = 250;         jump        var btnJump = cc.MenuItemImage.create(            res.btn_jump_up,res.btn_jump_down,255); line-height:1.5!important">this._man.jump();            },255); line-height:1.5!important">this);        btnJump.x = 330;         kick        var btnKick = cc.MenuItemImage.create(            res.btn_kick_up,res.btn_kick_down,255); line-height:1.5!important">this._man.kick();            },255); line-height:1.5!important">this);        btnKick.x = 420;         暂停        var btnPause = cc.MenuItemImage.create(            "res/pause.png",res/pause2.pngthis.onStop();            },255); line-height:1.5!important">this);        btnPause.x = size.wIDth - 30;        btnPause.y = size.height - var menu = cc.Menu.create(btnleft,btnRight,btnPower,btnJump,btnKick,btnPause);        menu.x = 0;        menu.y = 20;        this.addChild(menu,10);         主角        this._man = new Footballer_cn();        this._man.flippedX = true;        this._man.x = 150;        this._man.y = 50;        this._man.anchorX = 0.5;        this._man.anchorY = 0;        this._man,TAG_SPRITE_USER);        this._npc = new Footballer_br();        this._npc.x = size.wIDth - this._npc.y = this._npc.anchorX = this._npc.anchorY = this._npc,TAG_SPRITE_NPC);         球门        this._leftGoal = new Goalpost(true);        this._leftGoal.x = this._leftGoal.y = this._leftGoal.anchorX = this._leftGoal.anchorY = this._leftGoal);        this._rightGoal = new Goalpost();        this._rightGoal.x = size.wIDth;        this._rightGoal.y = this._rightGoal.anchorX = 1;        this._rightGoal.anchorY = this._rightGoal);        this._leftPower = new PowerProgress(size.wIDth/2-15,size.height-20,128); line-height:1.5!important">1,128); line-height:1.5!important">0.5,this);        this._leftPower,128); line-height:1.5!important">10);        this._rightPower = 2+0,255); line-height:1.5!important">this._rightPower,128); line-height:1.5!important">10);         系统计划任务,即每帧调用update函数        this.scheduleUpdate();         自定义计划任务        this.schedule(this.uiSchedule,128); line-height:1.5!important">1);        cc.sys.dumpRoot();        cc.sys.garbageCollect();        this.initChipmunk();        return true;    },onStop:function () {        this._bStop = !this._bStop;        if (this._bStop == true) {            cc.director.pause();        }        else {            cc.director.resume();        }    },update:function (dt) {        this.space.step(dt);    },uiSchedule:function () {        this._time++;        this._leftPower.showPower();        this._rightPower.showPower();    },initChipmunk:function() {        this.space = new cp.Space();        var sprite =  this.createPhysicssprite( cc.p(cc.director.getWinSize().wIDth/2,cc.director.getWinSize().height-50) );        this.addChild( sprite,128); line-height:1.5!important">100 );        this.adDWalls();        this.space.gravity = cp.v(100);    },initPhysics:function() {        var space = this.space ;        var staticBody = space.staticBody;        var winSize = cc.director.getWinSize();         Walls        var walls = [ new cp.SegmentShape( staticBody,cp.v(0),cp.v(winSize.wIDth,128); line-height:1.5!important">0 ),0); line-height:1.5!important"> bottom             top             left            0)     right        ];        for( var i=0; i < walls.length; i++ ) {            var shape = walls[i];            shape.setElasticity(1);            shape.setFriction(1);            space.addStaticShape( shape );        }         Gravity        space.gravity = cp.v(var winSize = cc.director.getWinSize();        new cp.SegmentShape( this.space.staticBody,128); line-height:1.5!important">0.8);            shape.setFriction(0.1);            this.space.addStaticShape( shape );        }    },createPhysicssprite:function( pos ) {        var radius = var mass = 1;        var body = new cp.Body(mass,cp.momentForCircle(mass,radius,128); line-height:1.5!important">0)));        body.setPos( pos );        this.space.addBody( body );        var shape = new cp.CircleShape(body,128); line-height:1.5!important">0)); new cp.BoxShape( body,48,108);        shape.setElasticity( 1 );        shape.setFriction( 0.1 );        this.space.addShape( shape );        var sprite = cc.Physicssprite.create(res.b_ball_01);        sprite.setbody( body );        return sprite;    },setupDeBUGNode:function()    {         deBUG only        this._deBUGNode = cc.PhysicsDeBUGNode.create( this.space );        this._deBUGNode.visible = false ;        this.addChild( this._deBUGNode );    }});var MainScene = cc.Scene.extend({    onEnter:function () {        new GameBackgroundLayer());        new MainLayer());    }});
总结

以上是内存溢出为你收集整理的[cocos2d-js]chipmunk例子(二)全部内容,希望文章能够帮你解决[cocos2d-js]chipmunk例子(二)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1048619.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存