标签:
创建带物理效果的心心图片
先创建一个物理场景
1 local GameScene = class("GameScene", function ( ) 2 -- body 3 -- return display.newScene("GameScene") 4 -- 创建一个带物理效果的场景 5 return display.newPhysicsScene("GameScene") 6 end)
在这个物理世界中添加物理心心
1 -- 获取场景中绑定的物理世界对象 2 self.world = self:getPhysicsWorld() ; 3 -- 设置场景中的重力加速度 4 self.world:setGravity( cc.p( 0, -98.0 ) ) ; 5 -- 设置可以看见物理效果的调试状态 6 self.world:setDebugDrawMask( cc.PhysicsWorld.DEBUGDRAW_ALL ) ; 7 8 9 -- 创建一个心心,带物理特效的心心 10 self.heart = display.newSprite("image/pic/heart.png") 11 -- 设置心心的位置 12 self.heart:setPosition( display.cx, display.top - self.heart:getContentSize().height) 13 -- 将心心添加到场景中 14 self.heart:addTo(self) 15 16 -- 设置物体的密度、反弹力、摩擦力, 17 -- 将其都设置为 0 是为了在碰撞的时候不发生任何物理变化 18 local MATERIAL_DEFAULT = cc.PhysicsMaterial( 0.0, 0.0, 0.0 ) 19 -- 1 20 local heartBody = cc.PhysicsBody:createCircle( 21 self.heart:getContentSize().width / 2, MATERIAL_DEFAULT 22 ) 23 -- 为物体添加物理引擎 24 self.heart:setPhysicsBody( heartBody ) 25 -- 屏蔽物理世界中的刚体收到重力的影响 26 -- self.heart:getPhysicsBody():setGravityEnable(false)
这里调用cc.PhysicsBody::createCircle()
方法创建了一个圆形的 body;
createCircle(radius, material, offset),
createCircle方法有三个参数,分别是:
cc.PhysicsMaterial(density, restitution, friction)
第26行注释后的效果图
未注释的效果图
Quick-cocos2d-x3.3 Study (十二)--------- 创建一个圆形的物体并带有物理引擎效果
标签:
原文地址:http://www.cnblogs.com/dudu580231/p/4822712.html