Quick-cocos2d-x3.3 Study (九)--------- 为物体添加物理特性

添加一个主角

 1 local Player = class("Player", function()
 2       return display.newSprite("#player.png")
 3 end)
 4
 5 function Player:ctor()
 6         -- 为物体添加物理属性
 7         local body = cc.PhysicsBody:createBox( self:getContentSize(), cc.PHYSICSBODY_MATERIAL_DEFAULT, cc.p( 0, 0 ) )
 8         self:setPhysicsBody( body )
 9 end
10
11 return Player

这里调用cc.PhysicsBody::createBox()方法创建了一个矩形的 body,createBox 方法有三个参数,分别是:

  • 参数1为 cc.size 类型,它表示矩形 body 的尺寸大小。
  • 参数2为 cc.PhysicsMaterial 类型,表示物理材质的属性,默认情况下为 cc.PHYSICSBODY_MATERIAL_DEFAULT。 该参数也可自定义,方法如下:
    cc.PhysicsMaterial(density, restitution, friction)
    • density:表示密度
    • restitution:表示反弹力
    • friction:表示摩擦力
  • 参数3为 cc.p 类型,它也是一个可选参数,表示 body 与中心点的偏移量,默认下为cc.p(0,0)

与 createBox 方法类似的还有 createCircle(radius, material, offset),该方法可以创建一个圆形的 body,除第一个参数为半径外,其余两参数与 createBox 方法一样。

时间: 2024-10-12 13:31:08

Quick-cocos2d-x3.3 Study (九)--------- 为物体添加物理特性的相关文章

quick cocos2d x 手机(Android端)启动过程学习

简要学习下quick cocos2d x 在安卓端启动的过程. 首先需要了解一点:quick cocos2d x是依托于Android的activity和GLSurfaceView(继承自SurfaceView)的环境来显示quick层的游戏界面. (1)首先quick类的android游戏从AndroidManifest.xml文件指定的activity(假设AC)启动. (2)AC继承父类的Cocos2dxActivity. (3)调用静态初始化块,加载cocos2dx的动态库.也就是一些C

quick cocos2d-x Xcode下省去clean,让修改的脚本生效

<quick cocos2d-x Xcode下省去clean,让修改的脚本生效> 项目  target     build phases    点击build phase的空白区域 选择Editor     Add Build Phase      Add Run Script Build Phase 编写脚本: 顺序调整:(第二顺位) 这样就可以避免每次修改了lua脚本,都要手动clean,然后再run,太费时间.. quick cocos2d-x Xcode下省去clean,让修改的脚本生

quick cocos2d x场景切换的生命周期函数调用学习

先上一个场景的基本模版: 1 local ModelScene = class("ModelScene", function() 2 return display.newScene("ModelScene") 3 end) 4 5 function ModelScene:ctor() 6 self.sceneName = "ModelScene" 7 -- 注册点击事件监听 8 self.layer = display.newLayer() 9

很久没写博客了!今天来写个八方向摇杆基于quick cocos2d

首先!马上毕业了最近在找工作,还算有点时间好久没写东西了就写点东西吧! 进入主题,首先先思考算法和逻辑.把圆分为八块,每块45度.正上,正下,正左,正右会被X和Y 平分.一边一半各是22.5度.(PS:开始想用 斜率的,但是发现斜率是tan的图像,也就是无限趋近最大值和最小值的不好做判断最后就用了cos也可用sin)思考计算的过程图如下: 准备工作完了就开始,首先控制的人物有八个状态分别是:上,下,左,右,左上,左下,右上,右下的动画.不同的状态对应着不同的动画,触控点和圆心点作比较来判断是哪个

Quick-cocos2d-x3.3 Study (五)--------- 添加按钮

添加按钮 1. 1 -- 添加一个按钮 2 cc.ui.UIPushButton.new( { normal = "image/button/start1.png", pressed = "image/button/start2.png" } ) 3 -- 点击 4 :onButtonClicked( 5 function () 6 print("---- the start button is onClicked ----") 7 end 8

Unity3D学习笔记九为场景添加细节(二)

上节为场景中添加了第一块带有碰撞器的石头,本节我们来利用Prefab,将场景细节都添加进去,并且做的更完善. 这一系列教程以及素材均参考自人人素材翻译组出品的翻译教程<Unity游戏引擎的基础入门视频教程>,下载链接附在第二篇学习笔记中. 继续来到那块已经成形的石头--Boulder旁边,我们可以制作很多石头的Prefab,这样对于丰富我们巨大的场景很有利,我们先来创建第一个石头的Prefab按下Control+D复制一块石头,按住坐标轴拖动出来,按下R调整到缩放工具,按住中心的白色立方体缩小

Quick-cocos2d-x3.3 Study (十)--------- 添加动画

注意:在添加动画的时候必须先将图片添加到缓存中去 1 -- 将资源添加到精灵帧缓存 2 display.addSpriteFrames("image/animations/binggu.plist", "image/animations/binggu.png") 添加动画 这里我们通过帧动画实现游戏角色的运动,帧动画的原理是将连续的帧图像(如下图)在渲染的时候通过逐帧或插值的方式播放出来而形成的动态效果.就像翻动小人书一样. 引擎中,帧动画的具体内容是依靠精灵显示出

unity给子物体添加Shader

分享两个自制Shader:http://pan.baidu.com/s/1nuRcF2L Shader存放路径:\Assets\Resources\Shader\ 定义Shader类型: public enum EnumFbxType { Default, TouMing, GaoLiang, } 加载指定Shader: private static Shader myTouMing = Shader.Find("My/TouMing"); private static Shader

Quick-cocos2d-x3.3 Study (四)--------- 添加标题,并上下运动

添加标题,并上下运动 1 -- 添加一个标题的图片精灵 2 local title = display.newSprite( "image/title.png" ) 3 :pos( display.cx, display,cy ) 4 :addTo( self ) 5 6 -- 动作1 7 local move1 = cc.MoveBy:create( 0.5, cc.p( 0, 10 ) ) 8 -- 动作2 9 local move2 = cc.MoveBy:create( 0.5