位置: 编程技术 - 正文

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)

  • 附加税申报表怎么做
  • 一般纳税人的税收优惠政策
  • 不动产租赁税率2023
  • 资产负债表库存为负数怎么调整
  • 一般纳税人9个点可以抵扣吗
  • 申请电子发票需要交钱吗
  • 企业会计准则季报报送哪几个报表
  • 财务合理化建议例子
  • 高新技术企业认证都有哪些条件
  • 外商投资企业清算报告
  • 外购货物应抵扣的进项税额税率
  • 处置使用过的固定资产,税率按多少
  • 小规模纳税人出租
  • 贴息是谁支付
  • 冲减成本怎么做会计分录
  • 别人借用我的pos刷卡套现谁承担
  • 注销时留抵税额不能退怎么做分录
  • 支付的各项税费包括个人所得税吗
  • 出口企业增值税优惠政策
  • 进项税额转出是什么意思
  • 旅游业是一个怎样的产业
  • 企业职工教育经费计入什么科目
  • 电商刷单支付的佣金会计分录
  • 购进农产品再销售
  • 外籍人士离职补偿
  • 专项应付款会计科目代码
  • 商誉减值会计准则
  • 加计扣除的会计要素
  • 单位性质有哪些类型
  • 支付宝账户记录
  • linux 书 推荐
  • 鸟瞰视野
  • php中header的用法
  • 增值税红字专用发票什么意思
  • 车辆赔偿款收条怎么写
  • 企业在境外发生业务国外缴税后国内怎么做
  • uniapp 信息推送
  • phpexcel读取excel
  • 同一控制下企业合并入账价值
  • 工程建设的项目的划分?
  • linux中php的作用
  • yii框架连接数据库
  • 增值税纳税申报表在哪里查询
  • 银行流水要去哪里打
  • 收到外币收入怎么入账
  • 货物赔偿款如何计算
  • 商业承兑汇票贴现什么意思
  • 全资子公司注销的账务处理
  • 收到固定资产抵账账务处理
  • 厂区地面硬化施工方案
  • 公司设计费会计分录
  • 物流货损怎样处理
  • 销项税额专栏记录企业销售货物
  • 公司用卫生纸是干什么的
  • 预收账款退款的会计处理
  • 差旅费住宿费专票
  • 房屋租赁费怎么记账
  • 收到股东投资如何做账
  • 交易或事项对会计等式的影响基本类型
  • 上期留抵税额怎么在账上提现
  • 转账时转错账号怎么办
  • 本月应负担的修理费
  • 会计凭证审核标准有哪些
  • 哪个行业的会计最难
  • 如何制作会计账簿
  • window怎么样
  • CentOS上使用Squid+Stunnel搭建代理服务器教程
  • windows命令提示符命令大全
  • win7怎么用耳机听歌
  • centos防火墙操作
  • Mac系统中文件的唯一id
  • window10分屏显示
  • shell date 设置日期
  • js模拟touch
  • jquery基础知识
  • web应用程序开源框架
  • vue.js有什么用
  • 浙江国税电子税务局
  • 飞机票其他税费包括什么内容
  • 办理对外支付税务备案需要多久时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设