笛卡坐標(biāo)系在現(xiàn)實中
已城鎮(zhèn)為中心點脯颜,x軸描述中央街道東西大街 y描述南北大街
通過兩條街的名稱就可以定位到煎餅果子的位置
在cocos2d中
在coocs2d中使用的笛卡坐標(biāo)系 (原點在物體左下角(0,0),右邊x 上方y(tǒng))
首先xy軸所表示的就是世界坐標(biāo)箱吕,描述世界中的一個物體,是根據(jù)世界坐標(biāo)系來定的柿冲。
- 比如 : 描述紅色正方形在世界中的坐標(biāo)為 (x=3,y=3)
- 比如 : 描述紅色原點在世界中的坐標(biāo)為 (x=4,y=4)
- 比如 : 描述紅色原點在 紅色正方形中的坐標(biāo)為(x=1,y=1) 這個也可以稱為
本地坐標(biāo)
系
一段代碼描述笛卡坐標(biāo)系
<pre>
<code>
var HelloWorldLayer = cc.Layer.extend({
sprite:null,
ctor:function () {
this._super();
var size = cc.winSize;
//創(chuàng)建一個矩形
var rect = new cc.DrawNode();
//1:原點 2:長寬 3:填充顏色 4:邊框大小 5邊框顏色
rect.drawRect(cc.p(0,0),cc.p(300,300),cc.color(),5,cc.color(255,0,0,255));
//設(shè)置世界坐標(biāo)系 左下腳放入屏幕中心點
rect.setPosition(size.width/2,size.height/2);
//創(chuàng)建一個點
var dot = new cc.DrawNode();
//位置相對于矩形(本地坐標(biāo))
dot.drawDot(cc.p(0,0),10,cc.color(255,255,255,255));
dot.setPosition(100,100);
//放入矩形中
rect.addChild(dot);
this.addChild(rect);
//旋轉(zhuǎn)函數(shù)
this.schedule(function(f){
rect.setRotation(rect.getRotation()+1);
//dot本地坐標(biāo)
var p = dot.getPosition();
cc.log("x="+p.x+"y="+p.y);
//dot世界坐標(biāo)
var wordPos = dot.convertToWorldSpace(cc.p(0,0));
cc.log("世界x="+wordPos.x+"世界y="+wordPos.y);
});
//將矩形完全居中顯示 設(shè)置 錨點
rect.setContentSize(cc.size(300,300));
rect.setAnchorPoint(cc.p(0.5,0.5));
return true;
}
});
</code>
</pre>