位置: 编程技术 - 正文

Cocos2dx3.2 Crazy Tetris 制作简单的凸多边形刚体

编辑:rootadmin

推荐整理分享Cocos2dx3.2 Crazy Tetris 制作简单的凸多边形刚体,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

现在我们要考虑的,就是如何为游戏中的方块添加刚体。

对于俄罗斯方块,我们可以知道,有以下几种方块:

这种我称之为块(block)型

这种我称之为直线(line)型

这种我称之为凸字(bulge)型

这种我称之为正-L(positive_L)型

这种我称之为反-L(negative_L)型

这种我称之为正-Z(positive_Z)型

这种我称之为反-Z(negative_Z)型

总之,方块就是这几种,现在主要问题就是为他们每一个添加刚体。一开始我直接利用PhysicsBody的静态创建方法createPolygon去创建多边形刚体,但是却报错,然后了解到这个只能创建凸多边形。而上面几种方块中,只有block和line是凸多边形,其他的都是凹多边形。(凸多边形的定义可以百度之,简单说就是没有一个内角超过度)

Cocos2dx3.2 Crazy Tetris 制作简单的凸多边形刚体

因此,必须想办法用凸多边形拼凑出各个方块,我的解决方法是用形状(shape)来组成这个PhysicsBody,而每一个shape,就如上图中的小正方形一样。如下(附带说明自定义方块类BaseBlock的思路):

首先,在头文件中声明变量:

这些变量的含义在注释中已经说明。其中,shape的顶点集是一个由Vec2(二维向量,可以看成一个点的结构体)组成的vector,因为Vec2其实就是一个简单的点的数组指针,因此定义了一个与之对应的vector<int>来存储每个shape的点的个数。(这里考虑到后面可能会进行裁剪,点个数不一定只有4个)

然后,就是声明并且定义初始化方块的函数:

在函数中,只要:

即可。

最后就是在GameView中调用该函数时,需要方块的顶点数据(此时以该图形的中心点为(0, 0)):

更完善一些可以将数据存储到资源文件中,然后统一封装加载方块的方法。

开启PhysicsWorld::DEBUGDRAW_ALL测试模式,运行效果如下:

关于制作游戏相关其他博客的目录,我放在利用Cocos2dx3.2制作重力版俄罗斯方块(Crazy Tetris)

[置顶] Android用SurfaceView写一个简单有趣的游戏--《数字组合》之一 最近突然有了一个想法--做一款android的简单游戏练练手,既要实现起来简单(毕竟只有一个人,框架什么的暂且就不用考虑了),又要能够达到对android

Cocos2d-x +Android + Windows 7 折腾了一天,看了好些人写的配置,但是乎没有一个能解决所有问题。这里记录下我的安装配置过程、遇到的问题以及解决方法。1.安装JavaJDK和EclipseIDE

〖用cocos2d-android引擎写游戏〗(一)第一个程序HelloWorld 〖用cocos2d-android引擎写游戏〗(一)第一个程序HelloWorld分类:Cocos2d-android引擎--:人阅读评论(1)收藏举报cocos2d-android游戏引擎开发教程java文本为

标签: Cocos2dx3.2 Crazy Tetris 制作简单的凸多边形刚体

本文链接地址:https://www.jiuchutong.com/biancheng/371280.html 转载请保留说明!

上一篇:Cocos2dx3.2 CrazyTetris 物理引擎使用初步

下一篇:[置顶] Android用SurfaceView写一个简单有趣的游戏--《数字组合》之一([置顶]游戏名:chivalry2)

  • 固定资产计提折旧计入什么科目
  • 如何查询继续教育证书
  • 机械设备买回来怎么消毒
  • 综合所得申报是报上个月的吗
  • 0税率开票如何做账
  • 未使用固定资产计提折旧计入
  • 无销项税额
  • 无形资产摊销和累计摊销一样吗
  • 企业基本保险
  • 收购烟叶委托加工烟丝组成计税价格
  • 企业借款给个人合法吗
  • 少缴纳社保怎么要求支付赔偿金
  • 企业所得税前列支的费用
  • 增值税普通发票有什么用
  • 应交税费明细科目有简易计税吗
  • 研发支出资本化支出在报表哪里
  • 总资产周转率多少算高
  • 季度有利润可以弥补以前年度亏损吗
  • 一次还本付息摊余成本计算公式
  • 分公司会有股东吗
  • 土地交易服务费分录
  • 从租计征的房产税需要缴纳土地使用税吗
  • 工资中的话费补助是什么
  • 华为鸿蒙系统如何关闭hd通话
  • win7改win10详细教程
  • mac电脑怎么转移到另一个电脑
  • 小微企业 记账
  • 只开发票没有合同需要缴纳印花税吗?
  • 预付维修费计入入账价值吗
  • 鸿蒙系统网络差怎么解决
  • rundll.exe是什么程序
  • window11 正式版
  • 电脑bios打开usb接口
  • php写html
  • 什么叫存续分立
  • vue set-cookie
  • 人工智能专业计算机科学与技术
  • 长期借款业务会亏损吗
  • 建造师与建筑师的区别详解
  • burp怎么安装
  • 租金收入的所得税率
  • 购物赠品的相关法律
  • 装修费入账科目
  • vite 插件开发
  • mysql的一些命令
  • python dup函数
  • 个人所得税租房专项扣除标准
  • 人力资源劳务外包需要什么资质证书
  • 公司拨款给个人分录
  • 纸质汇票什么时候能到账
  • 单位购买金税盘账务处理
  • 公司账户多少钱保证公司运转
  • 成本费用利润率一般在什么范围
  • 待抵扣进项税额
  • 物业水电费计算
  • 企业取得土地使用权会计处理
  • 合伙人工资薪金
  • 实收资本包括哪些项目
  • sqlserver的游标
  • visio.exe是什么进程
  • 苹果mac双系统怎么删除
  • 手把手教您安装软件
  • mac如何中文输入法
  • windows7如何调节屏幕色彩
  • ubuntu怎么安装程序
  • shell脚本tr
  • 风格的多样性举例说明
  • perl语言基本命令
  • css选择器怎么写
  • javascript总结笔记
  • jquery easyui开发指南
  • 蛋哥的日常
  • python和微信交互
  • 用python过滤列大于0的值
  • 衡水市地税局
  • 我的电脑软件下载
  • 珠海地区电话区号
  • 安徽工作人员出差费用标准
  • 第二税务所干什么的
  • 中国税务报客户端
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设