位置: 编程技术 - 正文

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)

  • 中税协是什么意思
  • 递延收益与递延所得税负债的区别
  • 税控盘维护费的分录
  • 制造业税负率怎么计算
  • 专家劳务费可以税前扣除吗
  • 劳务公司如何避税与避费
  • 跨年度冲红的账务处理
  • 发票专用章盖在收据上有法律效益
  • 企业所得税成本费用大于发票金额的原因
  • 支票承兑是什么意思要带什么材料
  • 送现金券活动方案
  • 劳务公司购买材料怎么做账
  • 免税销售额是否计入成本
  • 物业费能开公司名称吗
  • 招聘发票可以抵扣吗
  • 国有企业出租房屋管理规定
  • 农产品税率2020
  • 预缴时弥补的以前年度亏损是会计亏损吗?
  • 收到退回残疾金分录
  • 租金怎么来计算个税
  • 折价购入对投资者而言,是为以后多得利息
  • 固定资产不入账的后果
  • 什么叫交易类型
  • 默认网关不可用频繁掉线
  • 如何使用php
  • 预收房租需要缴纳个税么
  • php数组统计函数
  • uniapp image mode
  • 财务费用为负数是好事还是坏事
  • 消费税购置税价格一样
  • 资本化利息支出现金流量表计入哪里
  • 现金流量的折现值
  • 数量金额式账页图片
  • 企业职工薪酬如何确定
  • 一般户可以转账给员工报销吗
  • 软件开发公司如何保护源码
  • 织梦文章内容图片大全
  • 织梦系统
  • mysql load local
  • 公司购买银行理财产品账务处理
  • 出纳属于会计岗位职责吗
  • 签订三方协议是办理实时扣税的前提,这里三方是指
  • 当月红冲上月开具的增值税
  • 白酒系列代理
  • 运输费用如何做账
  • 出差人员的住宿费计入什么科目
  • 固定资产抵扣影响税负
  • 如何查看员工社保
  • 从农民手里租用土地用于科研要开发票吗
  • 纳税人虽设置账簿,但账目混乱
  • 旧账整理方案
  • mysql登陆error2002
  • windows下修改uuid的工具
  • centos邮件服务器
  • 微软推出windows1
  • csinsmnt.exe进程的作用介绍 csinsmnt是什么进程
  • 如何查看电脑的ip地址和端口号
  • Win7系统桌面图标变小
  • win7共享设置(详细图文步骤)
  • centos7网络配置文件在哪
  • win7防火墙打不开错误代码6801
  • WIN10系统安装教程
  • 解决安装后软件icon一圈白边问题
  • cocos2dx4.0入门
  • pycharm远程调试代码
  • 请问在javascript程序中
  • js存储
  • python内置函数什么用来返回序列中的最大元素
  • easyui combobox设置值
  • nodemcu web
  • linux shell 数组长度
  • 什么是质数
  • python列表组成字符串
  • RadioGroup+Fragment实现底部菜单栏
  • 北京税务局网上开发票
  • 税盘换电脑怎么登陆
  • 境外服务收入如何纳税
  • 国税查票系统
  • 买新车的注意事项有哪些比较重要的
  • 两会热点有哪些呀?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设