位置: 编程技术 - 正文

cocos2d-x初探学习笔记(19)--物理引擎box2d(1)(cocos2dx-js)

编辑:rootadmin

推荐整理分享cocos2d-x初探学习笔记(19)--物理引擎box2d(1)(cocos2dx-js),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:cocos2dx官方教程,cocos2dx-js,cocos2dx视频教程,cocos 2d x,cocos2dx4.0教程,cocos2dx官方教程,cocos2dx官方教程,cocos2dx4.0入门,内容如对您有帮助,希望把文章链接给更多的朋友!

小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址 是用可移植的 C&#;&#; 来写成的。引擎中定义的大部分类型都有 b2 前缀,可以把它和我们游戏中的其他元素区分开来。

Box2d中有很多概念。

1.刚体

即是物理学中的质点,只有位置,没有大小,它又可以区分为以下几类

静态刚体:静态刚体没有质量,没有速度,只可以手动来改变他的位置

棱柱刚体:棱柱刚体没有质量,但是可以有速度,可以自己更新位置

动态刚体:动态刚体有质量也有速度

物理引擎需要首先定义一个描述类,然后再根据描述类通过世界创建某个对象。创建刚体时需要有两个步骤,一是生成一个刚体定义,二是根据刚体定义生成刚体。在刚体创建时定义中的信息会被复制,也就是说创建完成后刚体只要没被释放掉,就还可以重复使用。

//定义刚体

b2BodyDef groundBodyDef;

groundBodyDef.position.Set(screenSize.width/2/PTM_RATIO, screenSize.height/2/PTM_RATIO);

//生成刚体

b2Body* groundBody = world->CreateBody(&groundBodyDef);

2.形状

通过关联添加到刚体上,碰撞可以根据形状来判定,具有摩擦和恢复等材料特性。

b2PolygonShape groundBox;

// bottom

groundBox.SetAsBox(screenSize.width/2/PTM_RATIO, 0, b2Vec2(0, -screenSize.height/2/PTM_RATIO), 0);

3.关联

关联是一种附加在刚体上的属性,一个刚体可以有多个关联,创建关联时,需要定义关联的信息,然后通过刚体创建关联,当关联被创建时关联定义中的信息也会被保留,也可以重用

//定义并创建关联

b2FixtureDef fixtureDef;

fixtureDef.shape = &dynamicBox;

fixtureDef.density = 1.0f;

fixtureDef.friction = 0.3f;

cocos2d-x初探学习笔记(19)--物理引擎box2d(1)(cocos2dx-js)

body->CreateFixture(&fixtureDef);

4.链接

链接可以联系多个缸体,使得刚体之间相互影响,同样的,也需要首先定义信息,之后通过世界创建链接,同样的,信息也可以被保留,从而重用

另外链接还支持限制和马达,限制就是限制物体运动的角度,马达就是依照关节中的限制来约束物体

链接有旋转,棱柱和距离等

b2RevoluteJointDef rjd;

rjd.Initialize(m_attachment, m_platform, b2Vec2(0.0f, 5.0f));

rjd.maxMotorTorque = .0f;

rjd.enableMotor = true;

m_world->CreateJoint(&rjd);

5.约束

一个约束就是消除物体自由度的物理连接。在 2D 中,一个物体有 3 个自由度。如果我

们把一个物体钉在墙上(像摆锤那样),那我们就把它约束到了墙上。这样,此物体就只能绕着这个钉子旋转,所以这个约束消除了它 2 个自由度。

还有一种不须你创建的接触约束,一个防止刚体穿透,以及用于模拟摩擦和恢复的特殊约束。

6.世界

世界是遵循物理的空间,以上的所有都存在于世界中,可以创建多个世界,但很少这样用

创建世界需要两个步骤,一是生成重力向量,二是根据重力生成世界对象

//生成重力向量

b2Vec2 gravity;

gravity.Set(0.0f, -.0f);

//生成世界对象

bool doSleep = true;

world = new b2World(gravity);

world->SetAllowSleeping(doSleep);

world->SetContinuousPhysics(true);

刚开始研究此引擎,如有错误之处,希望大家多多指正

下一篇继续深入box2d

cocos2d-x初探学习笔记()--精灵类 小满(billman)个人原创,欢迎转载,转载请注明地址,小满(billman)的专栏地址

cocos2d-x初探学习笔记()--动画类 小满(billman)个人原创,欢迎转载,转载请注明地址,小满(billman)的专栏地址

cocos2d-x初探学习笔记()--其他(屏幕旋转,schedule,系统语言) 小满(billman)个人原创,欢迎转载,转载请注明地址,小满(billman)的专栏地址

标签: cocos2dx-js

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

上一篇:cocos2d-x初探学习笔记(18)--Lable(cocos2dx-js)

下一篇:cocos2d-x初探学习笔记(21)--精灵类(cocos2d教程)

  • 增值税为什么不重复征税
  • 单独确认进项税额的情形
  • 税金及附加包括什么
  • 其他应收和其他应付怎么调账
  • 总公司一般纳税多少
  • 个体生产经营所得税税率表
  • 异地劳务分包要外经证吗
  • 支付劳务费需要开发票吗
  • 长期借款会计科目编码
  • 出售股票公允价值变动在借方
  • 外贸企业出口采购流程
  • 定期存款准备金是什么
  • 补贴给客户的支出怎样做会计分录?
  • 收到科技局的补贴短信
  • 广告公司制作警示牌可以开具什么样的发票?
  • 货款为现金如何做记账账款凭证?
  • 研发部门房租可以抵税吗
  • 视同销售存货账务处理方法是什么?
  • 已认证的发票没领怎么办
  • 税务分析最常用的分析方法
  • 公司购入房产账务处理
  • 零税率发票可以冲成本吗
  • 印花税的计税金额
  • 劳务费备注差额征税是什么意思呢?
  • 公司招投标卖标书的收入款财务作什么科目?
  • 一般纳税人交的增值税可以抵扣吗
  • 计提固定资产会计科目
  • 收到美金货款
  • 向投资者分配现金股利会计分录?
  • 固定资产弃置费怎么算
  • 公司购买理财产品如何做账
  • 默认网关不可用修复后过一会又不好使了
  • 出口退税率为0%退税收入怎么算
  • 没有以前年度损益调整怎么办
  • 支付宝花呗服务费收费标准
  • 预付的房屋租赁费账务如何处理
  • 分公司不纳入合并
  • 存货的核算方法
  • 梅德威海滩棕榈树间散步的冲浪者,印尼巴厘岛 (© helivideo/GettyImages)
  • 销售折让双方会计分录
  • 建筑企业预缴企业所得税怎么计算
  • uniapp微信小程序上传文件
  • 土地款什么时候进在建工程
  • yii2框架的优缺点
  • anaconda下的python
  • vue的一些面试题
  • 工程款清账的句子发朋友圈
  • 应交税金会计编码
  • 应交税费转出会计分录
  • 个税专项扣除子女教育可以怎么扣
  • 企业和银行对账多久对一次
  • 当月开的增值税发票当月能抵扣吗
  • windows7/windows10/windows11最强Audacity音频编辑播放器软件,免费下载
  • 商品流通企业的含义
  • 土石方收据图片
  • 处置固定资产净收益属于利得吗
  • ETC通行费发票抵扣2021新规定
  • 什么叫转让财产收入
  • 融资租赁与按揭的区别
  • 损益类会计科目有哪些
  • 生育保险基金的筹集原则是
  • 子公司利润母公司还有其他方式吗
  • 出口免抵退和免退有什么区别
  • 已启动申报比对异常怎样才能作废,还没过税期
  • Centos Nginx + Svbversion配置安装方法分享
  • 电脑任务栏中没有网络图标
  • macappstore下载不了软件
  • xp系统远程桌面怎么设置
  • rd命令是什么
  • ie11滚动条样式
  • asm指令
  • jQuery插件ajaxFileUpload异步上传文件
  • api/home/getmyregion
  • python的基础代码
  • 推荐javascript教程
  • JavaScript onkeydown事件入门实例(键盘某个按键被按下)
  • jquerymobile实例网站
  • 农村集体土地承包法
  • 2024新车购置税政策
  • 税务询问笔录属于什么证据
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设