cocos creator中容器节点位置坐标与子节点坐标设置的方法
时间: 2023-08-04 22:04:34 浏览: 62
在Cocos Creator中,容器节点的位置坐标可以通过设置节点的position属性来实现。例如,如果我们想将节点的位置设置为(100, 200),我们可以使用以下代码:
```
node.position = cc.v2(100, 200);
```
同时,子节点的坐标也可以通过设置节点的position属性来实现。不过需要注意的是,子节点的坐标是相对于父节点的坐标系的。例如,如果我们想将子节点的位置设置为(50, 50),我们可以使用以下代码:
```
childNode.position = cc.v2(50, 50);
```
需要注意的是,如果容器节点的锚点不是(0, 0),那么子节点的坐标会相对于锚点来计算。如果我们想将子节点的坐标相对于容器节点的左下角来计算,可以将容器节点的锚点设置为(0, 0)。例如,我们可以使用以下代码将容器节点的锚点设置为左下角,并将子节点的位置设置为(50, 50):
```
containerNode.anchorX = 0;
containerNode.anchorY = 0;
childNode.position = cc.v2(50, 50);
```
相关问题
cocos creator中本地坐标如何转化为全局坐标
在 Cocos Creator 中,可以使用节点的 `convertToWorldSpaceAR` 方法将节点的本地坐标转换为全局坐标。该方法接受一个 `Vec2` 类型的参数,表示本地坐标系下的位置,返回一个 `Vec2` 类型的值,表示全局坐标系下的位置。
以下是一个示例代码:
```typescript
// 获取节点
const node = this.node.getChildByName('MyNode');
// 获取 MyNode 节点在全局坐标系下的位置
const globalPos = node.convertToWorldSpaceAR(cc.v2(0, 0));
// 输出全局坐标系下的位置
console.log(`Global position: (${globalPos.x}, ${globalPos.y})`);
```
在上面的代码中,我们首先获取了一个名为 MyNode 的节点。然后,使用 `convertToWorldSpaceAR` 方法将 `cc.v2(0, 0)` 表示的本地坐标系下的位置转换为全局坐标系下的位置,并将结果存储在 `globalPos` 变量中。最后,输出 `globalPos` 变量的值,即可得到 MyNode 节点在全局坐标系下的位置。
cocos creator 转 屏幕坐标
在 Cocos Creator 中,可以使用 `convertToNodeSpaceAR` 和 `convertToWorldSpaceAR` 方法来将世界坐标转换为节点坐标和将节点坐标转换为世界坐标。其中,AR 表示使用节点的锚点作为参考点。
例如,如果要将触摸点的世界坐标转换为节点坐标,可以这样写:
```javascript
var touchPos = touch.getLocation();
var nodePos = this.node.convertToNodeSpaceAR(touchPos);
```
如果要将节点坐标转换为世界坐标,可以这样写:
```javascript
var nodePos = this.node.getPosition();
var worldPos = this.node.convertToWorldSpaceAR(nodePos);
```
需要注意的是,`convertToNodeSpaceAR` 和 `convertToWorldSpaceAR` 方法只能用于节点,如果要将屏幕坐标转换为世界坐标,可以使用 `cc.Camera` 组件的 `getCameraToWorldPoint` 方法。例如:
```javascript
var touchPos = touch.getLocation();
var camera = cc.Camera.main;
var worldPos = camera.getCameraToWorldPoint(touchPos);
```
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)