(1) 添加头像到layer 这里使用到了全局变量G,在GlobalVariables.lua中定义。
GlobalVariables中预设了一些常量,也缓存了一些常用信息。
self.MagePng:setposition3D(cc.V3(1070/1136*G.winSize.wIDth,70/640*G.winSize.height,2))self.MagePngFrame:setposition3D(cc.V3(self.MagePng:getpositionX()+1,self.MagePng:getpositionY()-offset,1))
[1] 因为 BattlefIEldUI 已经在BattleScene中 作为一个整体添加到了nearPlane前面,所以这个z值只用是一个相对值
[2] 从右手系来看,摄像机正对着xy平面, z越大,会越靠前
轻微变化了头像的坐标和尺寸,并且通过Repeat反复执行
(3) 英雄死亡 BattlefIEldUI:heroDead
给头像加上了灰色的shader效果,具体实现见 GreyShader.cpp
cc.GreyShader:setGreyShader(self.KnightPng)
2. 血条的实现 (1) 创建一个 Progresstimer 用来显示血量,他可以通过 progressto 动画来伸缩长短
BattlefIEldUI:bloodbarInit()
self.KnightBlood = cc.Progresstimer:create(cc.Sprite:createWithSpriteFramename("UI-1136-640_36_clone.png"))
(2) 通过Progressto 来“扣血”
这里可以发现一个额外的实现细节:血条分了两层,前面是绿色的 _bloodbar 后面是红色的 _bloodbarClone
扣血的速度分别为0.3秒和1秒,这样就呈现了“延迟扣血”的效果
progressto = cc.Progressto:create(0.3,percent)progresstoClone = cc.Progressto:create(1,percent)heroActor._bloodbar:runAction(progressto)heroActor._bloodbarClone:runAction(progresstoClone)
HPCounter 显示扣血的数值和背景,以及一些慢慢消失的效果
HPCounter:showBloodLossNum(dmage,racetype,atack)
参数:[1]伤害值 [2]受伤的角色类型 [3]致命一击(加个背景图片)
返回: 扣血量的sprite,并且已经做好了动画效果
blood:setRotation3D({x=90,y=0,z=0}) //对于BillBoardLable这里作者因为是多此一举了,因为billBoardLable永远面对摄像机。
critleAttack:setRotation3D({x=90,z=0})
和[BattlefIEldUI] 对比一下,为啥这里的
数字label 和 背景图
都调用了 setRotation3D({x=90,z=0}) ?
我的理解是 BattleScene的currentLayer 相当于平躺在 x,y 轴构成的平面上 (右手系)。
而BattlefIEldUI因为直接添加到了camera上,所以永远正对着摄像机,它的子节点也不需要做调整了。
为啥这里的z轴变成朝天?因为前面在设置相机的时候 设置了相机的 顶部为z轴正方向
local position = cc.V3(temp.x,temp.y,size.height/2-100) camera:setposition3D(position) camera:lookAt(cc.V3(position.x,focusPoint.y,50.0),cc.V3(0.0,0.0,1.0))LookAt函数用于设置相机朝向何方,它接受两个参数,第一个是,目标的坐标,第二个是 摄像机头顶指向哪里。
参考:
http://blog.csdn.net/honghaIEr/article/details/40096603 第一章《3D理论初步》
总结以上是内存溢出为你收集整理的cocos2dx 3d开源项目 fantasyWarrior3D 从零走起 4 [BattlefieldUI & HPCounter]全部内容,希望文章能够帮你解决cocos2dx 3d开源项目 fantasyWarrior3D 从零走起 4 [BattlefieldUI & HPCounter]所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)