cocos2d-js rocker

前端之家收集整理的这篇文章主要介绍了cocos2d-js rocker前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. <pre name="code" class="javascript">var ControlLayer=cc.Layer.extend({
  2. rocker:null,startTouch:null,ctor:function(){
  3. this._super();
  4. this.rocker=new Rocker(this,cc.p(500,500),res.rockerBg_png,res.rockerCnt_png);
  5. },onTouchBegan:function(touches,event){
  6. var touch=touches[0];
  7. cc.log("onTouchBegan");
  8. this.startTouch=touch.getLocation();
  9. event.getCurrentTarget().rocker.moveRockerToPoint(this.startTouch);
  10. return true;
  11. },onTouchMoved:function(touches,event){
  12. var touch=touches[0];
  13. var currentTouch=touch.getLocation();
  14. var step=currentTouch.x-this.startTouch.x;
  15. var range=64;
  16. if(step>0){
  17. step=range;
  18. }else if(step<0){
  19. step=-range;
  20. }
  21.  
  22. cc.log(step);
  23.  
  24. event.getCurrentTarget().rocker.changeStep(step);
  25. },onTouchEnded:function(touches,event){
  26. var touch=touches[0];
  27. cc.log("onTouchEnded");
  28. event.getCurrentTarget().rocker.resetPosToDefult();
  29. }
  30. })
  31.  
  32. var Rocker=cc.Class.extend({
  33. defultPos:null,bgSprite:null,cntSprite:null,ctor:function(parent,pos,res1,res2){
  34. this.defultPos=pos;
  35. this.bgSprite=new cc.Sprite(res1);
  36.  
  37.  
  38.  
  39. parent.addChild(this.bgSprite)
  40.  
  41. this.cntSprite=new cc.Sprite(res2);
  42. this.bgSprite.addChild(this.cntSprite);
  43.  
  44. this.resetPosToDefult();
  45. cc.eventManager.addListener({
  46. event:cc.EventListener.TOUCH_ALL_AT_ONCE,swallowTouches:true,onTouchesBegan:parent.onTouchBegan,onTouchesMoved:parent.onTouchMoved,onTouchesEnded:parent.onTouchEnded
  47. },parent);
  48.  
  49. },moveRockerToPoint:function(pos){
  50. this.bgSprite.setPosition(pos);
  51. },resetPosToDefult:function(){
  52. this.bgSprite.setPosition(this.defultPos);
  53. var contentSize=this.bgSprite.getContentSize();
  54. this.cntSprite.setPosition(cc.p(contentSize.width/2,contentSize.height/2));
  55. },changeStep:function(num){
  56. var contentSize=this.bgSprite.getContentSize();
  57. this.cntSprite.setPosition(cc.p(contentSize.width/2+num,contentSize.height/2));
  58. }
  59.  
  60. })

猜你在找的Cocos2d-x相关文章