首页 > 其他分享 >Cocos Creator中的向量cc.Vec2和矩形cc.Rect

Cocos Creator中的向量cc.Vec2和矩形cc.Rect

时间:2023-11-13 15:23:50浏览次数:28  
标签:Cocos console log Creator cc v3 Vec2 Rect

前言

在Cocos Creator游戏开发中,经常需要使用向量和矩形,这篇文章我们来总结下其常见用法。

一、Vec2二维向量

 对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事游戏开发的技术大佬,欢迎你来交流学习。

 

1.  `        let v1 : cc.Vec2 = new cc.Vec2(1, 0);`

2.  `        console.log(v1.equals(cc.Vec2.RIGHT));`

4.  `        let v2 : cc.Vec2 = cc.v2(0, 1);`

5.  `        let v3 : cc.Vec2 = v1.add(v2);`

6.  `        console.log("v3=", v3, v3.x, v3.y);`

7.  `        console.log("v3的模,向量的长度:", v3.mag());`

9.  `        // v3归一化,将向量的长度变成单位长度,游戏手柄`

10.  `        v3 = v3.normalize();`

11.  `        console.log("归一化后v3=", v3, v3.x, v3.y);`

12.  `        console.log("单位向量v3的模,向量的长度:", v3.mag());`

14.  `        // *self方法改变调用这个方法的原有向量`

15.  `        console.log("调用*self方法前,v1=", v1, "v2=", v2);`

16.  `        v3 = v1.addSelf(v2);`

17.  `        console.log("调用后*self方法v1=", v1, "v2=", v2);`

常用方法案例如上,运行结果如下,其它方法类似,重点掌握向量的基本属性、取模、比较相等、归一化、加减乘除,区别带self后缀的方法即可。

 

 

二、cc.Size/cc.Rect尺寸和矩形

1: cc.Size: 包含宽度和高度信息的对象 {width: 100, height: 100}; 2: new cc.Size(w, h), cc.size(w, h)创建一个大小对象; 3: cc.Rect: 矩形对象 new cc.Rect(x, y, w, h); cc.rect(x, y, w, h); {x, y, width, height} 4: contains(Point): 点是否在矩形内; 5: intersects : 两个矩形是否相交; 6:intersection:计算两个矩形的相交部分。

1.  `    onl oad () {`

2.  `        let s : cc.Size = new cc.Size(100, 200);`

3.  `        console.log("s=", s, s.height, s.width);`

5.  `        let s2 = cc.size(50, 60);`

6.  `        console.log("s2=", s2, s2.height, s2.width);`

7.  `        console.log("s和s2尺寸是否相等:", s.equals(s2));`

8.  `        console.log("s2的toString:", s2.toString());`

9.  `    }`

 

 

1.  `    start () {`

2.  `        let r : cc.Rect = new cc.Rect(0, 0, 100, 200);`

3.  `        console.log("r=", r, r.center, r.origin, r.size);`

4.  `        console.log("rx=", r.x, r.xMin, r.xMax);`

5.  `        console.log("ry=", r.y, r.yMin, r.yMax);`

6.  `        let r2 : cc.Rect = cc.rect(0, 0, 10, 20);`

8.  `        console.log("r和r2是否相交:", r.intersects(r2));`

9.  `        let r3 : cc.Rect = new cc.Rect();`

10.  `        r.intersection(r3, r2);`

11.  `        console.log("r和r2的相交部分:", r3);`

13.  `        let p : cc.Vec2 = new cc.Vec2(50, 60);`

14.  `        console.log("p是否在矩形r中:", r.contains(p));`

15.  `        console.log("p是否在矩形r2中:", r2.contains(p));`

16.  `    }`

 

cocos、unity、lay游戏开发面试集合,点击下方获取:

标签:Cocos,console,log,Creator,cc,v3,Vec2,Rect
From: https://www.cnblogs.com/bycw/p/17829224.html

相关文章

  • Cocos Creator 「无侵入」资源加密方案
    前言CocosCreator打包后的素材资源,如:图片,声音等,默认是保持原始格式,只要遇到破解党,那么他们极有可能很简单就直接获取到这部分素材资源。针对这个问题,大部分同学都会有一种资源加密的需求,即对打包后的资源进行加密,让破解党不那么容易获取到资源。对啦!这里有个游戏开发交流小组......
  • 游记 CCPC2023 深圳站
    广东实验中学省实信奥2队https://vjudge.net/contest/59410511.11早上坐车打狼人杀。下午是开幕式,孙教授的口才真的不错,很好笑。然后是热身赛。15:30热身赛只有三个题。P9384[THUPC2023决赛]着色P9380[THUPC2023决赛]总投票数P9388[THUPC2023决赛]先人类......
  • 3大方面升级华为云CCE集群体验,助力集群高效运维管理
    本文分享自华为云社区《华为云从心打造CCE集群升级体验,助力集群高效运维管理》,作者:云容器大未来。在云原生时代浪潮的推动下,Kubernetes的发展日新月异,更新的集群版本可以带来更新的功能,助力用户打造更强大的云原生应用环境。然而,一直以来,如何让用户积极地升级集群版本,是业界公认的......
  • 3大方面升级华为云CCE集群体验,助力集群高效运维管理
    本文分享自华为云社区《华为云从心打造CCE集群升级体验,助力集群高效运维管理》,作者:云容器大未来。在云原生时代浪潮的推动下,Kubernetes的发展日新月异,更新的集群版本可以带来更新的功能,助力用户打造更强大的云原生应用环境。然而,一直以来,如何让用户积极地升级集群版本,是业界公认......
  • CC1310F128RSMR Sub-1GHz超低功耗无线微控制器芯片
    CC1310F128RSMRQFN-32Sub-1GHz超低功耗无线微控制器CC1310F128RSMR是一款低成本、超低功耗、Sub-1GHz射频器件,它是Simplelink微控制器(MCU)平台的一部分。该平台由Wi-Fi组成、蓝牙低功耗,Sub-1GHz,以太网,Zigbee线程和主机mcu。这些设备都有一个共同的,易于使用的开发环境,具有......
  • fgui 怎么将"UI空间下的世界坐标"转换成"fgui空间下的世界坐标( global pos )" cocosc
    嗨~如果本文对你有帮助,点个推荐吧!这样能让文章在搜索中更靠前,帮助到更多有需要的人!首先通过坐标系转换一步步地进行计算我尝试过,但卡在了将屏幕坐标转换为fgui空间的全局坐标上。但发现了一个巧妙的做法。//随便的一个Cocoscreator的NodevaranyCCUINode=this._labe......
  • 【低功耗蓝牙BLE-2】Generic Access Profile(GAP)协议
    原文链接:https://zhuanlan.zhihu.com/p/527434096?utm_id=0 GAP简介通用访问配置文件(GAP)规定了设备在较低级别如何执行控制程序,如设备发现、连接、安全建立等,以确保互操作性,并允许来自不同供应商设备之间的通信。主要的操作有:发现并与配对广播数据建立安全连接GAP以一......
  • 如何解决Windows电脑 Create folder error,Access is denied.
    如何解决Createfoldererror,Error:mkdirC:\ProgramFiles\nodejs\21.1.0/:Accessisdenied.Waring:Name:http://npm.taobao.org/mirrors/node/v21.1.0/win-x64/node.exeCode:-2Error:Createfoldererror,Error:mkdirC:\ProgramFiles\nodejs\\21.1......
  • cc1: all warnings being treated as errors报错处理
    cmake时一切正常,make时产生了报错,并且解释为`cc1:allwarningsbeingtreatedaserrors`一些网上的方法是在Makefile文件里删除`-Werror`,但我的Makefile文件不存在这个选项。我的解决方法:在CMakeLists里寻找配置'-Werror'的语句,将这些涉及的语句删除。并且删除之前cmake......
  • 【GCC】windows环境编译dll文件
    使用如下指令生成动态库:gcctest.c-I./inc-fPIC-shared-olibtest.dll参数解释:-I:添加头文件搜索目录-fPIC:生成位置无关的代码,在编译动态库的时候需要使用该选项-shared:表明生成一个共享对象,也就是动态库......