cocos2d-js rocker

<pre name="code" class="javascript">var ControlLayer=cc.Layer.extend({
	rocker:null,startTouch:null,ctor:function(){
		this._super();
		this.rocker=new Rocker(this,cc.p(500,500),res.rockerBg_png,res.rockerCnt_png);
	},onTouchBegan:function(touches,event){
		var touch=touches[0];
		cc.log("onTouchBegan");
		this.startTouch=touch.getLocation();
		event.getCurrentTarget().rocker.moveRockerToPoint(this.startTouch);
		return true;
	},onTouchMoved:function(touches,event){
		var touch=touches[0];
		var currentTouch=touch.getLocation();
		var step=currentTouch.x-this.startTouch.x;
		var range=64;
		if(step>0){
			step=range;
		}else if(step<0){
			step=-range;
		}

		cc.log(step);

		event.getCurrentTarget().rocker.changeStep(step);
	},onTouchEnded:function(touches,event){
		var touch=touches[0];
		cc.log("onTouchEnded");
		event.getCurrentTarget().rocker.resetPosToDefult();
	}
})

var Rocker=cc.Class.extend({
	defultPos:null,bgSprite:null,cntSprite:null,ctor:function(parent,pos,res1,res2){
		this.defultPos=pos;
		this.bgSprite=new cc.Sprite(res1);



		parent.addChild(this.bgSprite)

		this.cntSprite=new cc.Sprite(res2);
		this.bgSprite.addChild(this.cntSprite);

		this.resetPosToDefult();
		cc.eventManager.addListener({
			event:cc.EventListener.TOUCH_ALL_AT_ONCE,swallowtouches:true,ontouchesBegan:parent.onTouchBegan,ontouchesMoved:parent.onTouchMoved,ontouchesEnded:parent.onTouchEnded
		},parent);

	},moveRockerToPoint:function(pos){
		this.bgSprite.setPosition(pos);
	},resetPosToDefult:function(){
		this.bgSprite.setPosition(this.defultPos);
		var contentSize=this.bgSprite.getContentSize();
		this.cntSprite.setPosition(cc.p(contentSize.width/2,contentSize.height/2));
	},changeStep:function(num){
		var contentSize=this.bgSprite.getContentSize();
		this.cntSprite.setPosition(cc.p(contentSize.width/2+num,contentSize.height/2));
	}

})

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...