cocos2d坐标转换

var printpos = function(name,pos){
	cc.log(name + "\tpos = \t" + pos.x+" , "+pos.y);
};

var HelloWorldLayer = cc.Layer.extend({
	sprite:null,
	ctor:function () {
		this._super();
		this.addSprites();

		return true;
	},
	addSprites:function(){
		this.par1 = new cc.Sprite("res/tst/200x200.png");
		this.addChild(this.par1);
		this.par1.setOpacity(70);
		this.par1.setPosition(300,300);
		printpos("par1",this.par1.getPosition());
		
		this.chi1 = new cc.Sprite("res/tst/32x32.png");
		this.par1.addChild(this.chi1);
		this.chi1.setOpacity(70);
		this.chi1.setPosition(0,0);
		printpos("chi1",this.chi1.getPosition());
		
		this.bro1 = new cc.Sprite("res/tst/32x32.png");
		this.par1.addChild(this.bro1);
		this.bro1.setOpacity(70);
		this.bro1.setPosition(this.par1._getWidth(),this.par1._getHeight());
		printpos("brother1",this.bro1.getPosition());
		
		this.grand1 = new cc.Sprite("res/tst/32x32.png");
		this.chi1.addChild(this.grand1);
		this.grand1.setAnchorPoint(0,0);
		this.grand1.setOpacity(70);
		this.grand1.setPosition(0,0);
		printpos("grand1",this.grand1.getPosition());
		
		this.par2 = new cc.Sprite("res/tst/400x400.png");
		this.addChild(this.par2);
		this.par2.setOpacity(70);
		this.par2.setPosition(800,400);
		printpos("par2",this.par2.getPosition());
		
		this.chi2 = new cc.Sprite("res/tst/32x32.png");
		this.par2.addChild(this.chi2);
		this.chi2.setOpacity(70);
		this.chi2.setPosition(this.par2._getWidth()/2,this.par2._getHeight()/2);
		printpos("chi1",this.chi2.getPosition());
		
		printpos("par1 to world ar",this.par1.convertToWorldSpaceAR(cp.v(0,0)));
		printpos("chi1 to world ar",this.chi1.convertToWorldSpaceAR(cp.v(0,0)));
		printpos("bro1 to world ar",this.bro1.convertToWorldSpaceAR(cp.v(0,0)));
		printpos("grand1 to world ar",this.grand1.convertToWorldSpaceAR(cp.v(0,0)));
		printpos("par2 to world ar",this.par2.convertToWorldSpaceAR(cp.v(0,0)));
		printpos("chi2 to world ar",this.chi2.convertToWorldSpaceAR(cp.v(0,0)));
		
		printpos("par1 to world",this.par1.convertToWorldSpace(cp.v(0,0)));
		printpos("chi1 to world",this.chi1.convertToWorldSpace(cp.v(0,0)));
		printpos("bro1 to world ar",this.bro1.convertToWorldSpace(cp.v(0,0)));
		printpos("grand1 to world",this.grand1.convertToWorldSpace(cp.v(0,0)));
		printpos("par2 to world",this.par2.convertToWorldSpace(cp.v(0,0)));
		printpos("chi2 to world",this.chi2.convertToWorldSpace(cp.v(0,0)));
		
		printpos("ch1 real to bro1",this.chi1.convertToNodeSpace(this.bro1.convertToWorldSpace(cp.v(0,0))));
		printpos("bro1 real to ch1",this.bro1.convertToNodeSpace(this.chi1.convertToWorldSpace(cp.v(0,0))));
		
		printpos("bro1 real to par2",this.bro1.convertToNodeSpace(this.par2.convertToWorldSpace(cp.v(0,0))));
		printpos("grand1 real to par2",this.grand1.convertToNodeSpace(this.par2.convertToWorldSpace(cp.v(0,0))));
		printpos("grand1 real to par2 ar",this.grand1.convertToNodeSpaceAR(this.par2.convertToWorldSpace(cp.v(0,0))));
		
//		this.scheduleOnce(function(){
//			cc.log("aaa");
//			this.chi1.runAction(cc.moveBy(3, this.par1.convertToNodeSpace(this.par2.convertToWorldSpace(cp.v(0,0)))));
//		}.bind(this),2);
		
//		this.scheduleOnce(function(){
//			cc.log("b");    
//			this.grand1.runAction(cc.moveBy(3, this.chi1.convertToNodeSpaceAR(this.par2.convertToWorldSpace(cp.v(0,0)))));
//		}.bind(this),4);
		
//		this.scheduleOnce(function(){
//			cc.log("c");    
//			this.chi2.runAction(cc.moveBy(3, this.par2.convertToNodeSpaceAR(this.grand1.convertToWorldSpace(cp.v(0,0)))));
//		}.bind(this),2);
		
//		this.scheduleOnce(function(){
//			cc.log("d");    
//			this.par1.runAction(cc.moveBy(3, this.par1.convertToNodeSpaceAR(this.par2.convertToWorldSpace(cp.v(this.par2._getWidth()/2,this.par2._getHeight()/2)))));
//		}.bind(this),2);
		
		this.scheduleOnce(function(){
			cc.log("e");    
			this.chi1.runAction(cc.moveBy(3, this.par1.convertToNodeSpaceAR(this.par2.convertToWorldSpace(cp.v(this.par2._getWidth()/2,this.par2._getHeight()/2)))));
		}.bind(this),2);
	},
	onEnter:function(){
		this._super();
		this.scheduleUpdate();
	},
	onExit:function(){
		this.unscheduleUpdate();
		this._super();
	},
	update:function(dt){

	}
});

var HelloWorldScene = cc.Scene.extend({
	onEnter:function () {
		this._super();
		var layer = new HelloWorldLayer();
		this.addChild(layer);
	}
});

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值