位置: 编程技术 - 正文

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)

  • 简易征收办法征税货物销售额
  • 去年企业所得税税率是多少
  • 法定免税项目包括
  • 哪些单位须执行国家政策
  • 增值税是否计入存货成本
  • 股票交易费用计算器
  • 供暖企业收取的容量热价费怎么计入收入
  • 长期负债平均余额怎么算
  • 产品缺陷处理流程
  • 商贸公司购进农产品可以抵扣吗
  • 代扣代缴手续费返还需要缴纳增值税吗
  • 房地产企业开发成本科目明细
  • 收到第三方利息会计分录
  • 商贸企业销售商品结转成本是手工算吗
  • 收到长期股权投资的现金股利
  • 一般纳税人两费减免会计分录
  • 车间扫帚存放架子
  • 公司利润怎么提出来给老板
  • 应收账款的产生之一是由于销售
  • 普通的增值税发票可以查询到购买人的信息吗
  • 制造费用年末需要结转吗
  • 季度所得税申报可以弥补以前年度亏损吗
  • 往来形式的投资款是借款吗
  • 退休返聘人员的劳动权益保护
  • 2019年以后转登记为小规模纳税人有无时间要求?
  • c盘文件详解
  • Win11不支持鼠标宏
  • 公司旅游费计入什么科目
  • 土地 补偿
  • 民间非营利组织会计账务处理
  • 加工费入什么会计科目
  • 企业会计日记账保管期限为()年。A5B10C30D35
  • php字符串转浮点型
  • echarts遇到的坑
  • 卷积神经网络课程
  • 专利年费缴纳详细流程
  • 存量资金上缴财政款 预算会计
  • javascript 箭头
  • phpcms不支持https怎么办
  • MongoDB的mongo shell常用操作方法及操作脚本笔记
  • 购入不动产进项税额怎么抵扣
  • 个体工商户税收标准2023年
  • 企业主营业务利润是由什么构成的
  • win2008安装sql2008教程
  • 房地产企业政府返还款
  • 未分配利润分配后在报表如何体现
  • 下月初可以认证上月的发票么
  • 长期待摊费用如何记账
  • 开具发票要注意的方面是有哪些?
  • 印花税不足一元免征吗
  • 收到政府的资本公积可以投入子公司吗
  • 暂估入库需要入什么科目
  • 开红字发票如何做分录?
  • 进项税额转出的分录怎么做
  • windows vista(service pack1)
  • win7电脑默认打开方式怎么设置
  • win2000注册表
  • win7 启动程序
  • 如何用u盘在车上放音乐
  • windows的安装方式有哪些
  • linux 常用 命令
  • windows7怎么打开记事本
  • win8内存管理
  • 简洁桌面怎么设置
  • win10 系统账户
  • windows 10 周年更新
  • win7系统网络连接禁用怎么开启
  • Linux中systemd target命令使用详解
  • 简单掌握办公软件怎么写
  • 微信小程序用户名怎么改名
  • javascript的原型,原型链,有什么特点?
  • csh,tcsh,bash,sh等shell的区别
  • 批处理修改hosts 加一行
  • javascript详细介绍
  • 网页文件的标记是
  • 推荐一些非常不好的书
  • python for windows
  • 为什么发莎
  • 国税地税征管体制改革方案全文
  • 煤炭资源税税率选煤税率多少黑龙江
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设