cocos2dx-lua 简单血条的实现

所用资源:

blood_bg.png :    blood_red.png 

直接贴代码:

local BloodProgressBar = class("BloodProgressBar", function (  )return cc.Node:create()
end)function BloodProgressBar:create(  )local bloodProgressBar = BloodProgressBar:new()bloodProgressBar:getViews()return bloodProgressBar
endfunction BloodProgressBar:ctor(  )endfunction BloodProgressBar:getViews(  )--血条背景local bloodEmptyBg = cc.Sprite:create("ui/blood_bg.png")bloodEmptyBg:setAnchorPoint(cc.p(0.5,0.5))local bloodEmptyBgSize = bloodEmptyBg:getContentSize()bloodEmptyBg:setPosition(cc.p(bloodEmptyBgSize.width/2,bloodEmptyBgSize.height/2))self:addChild(bloodEmptyBg)--血条local bloodBody = cc.Sprite:create("ui/blood_red.png")--创建进度条local bloodProgress = cc.ProgressTimer:create(bloodBody)bloodProgress:setType(cc.PROGRESS_TIMER_TYPE_BAR) --设置为条形 type:cc.PROGRESS_TIMER_TYPE_RADIALbloodProgress:setMidpoint(cc.p(0,0)) --设置起点为条形坐下方bloodProgress:setBarChangeRate(cc.p(0,1))  --设置为竖直方向bloodProgress:setPercentage(0) -- 设置初始进度为30bloodProgress:setPosition(cc.p(bloodEmptyBgSize.width/2,bloodEmptyBgSize.height/2))self:addChild(bloodProgress)--让进度条一直从0--100重复的actlocal progressTo = cc.ProgressTo:create(5,100)local clear = cc.CallFunc:create(function (  )bloodProgress:setPercentage(0)end)local seq = cc.Sequence:create(progressTo,clear)bloodProgress:runAction(cc.RepeatForever:create(seq))
endreturn BloodProgressBar

运行效果如下图所示:

解释:

主要有三点可以设置:

(1)设置进度条类型的方法:setType( 参数 )

参数:

cc.PROGRESS_TIMER_TYPE_BAR 条形
<pre name="code" class="plain">type:cc.PROGRESS_TIMER_TYPE_RADIAL 圆形

(2)进度条方向和起点:

设置进度条方向的方法:setBarChangeRate(参数)

设置进度条起点的方法:setMidpoint(参数)

设置进度条方向为水平方向:

setBarChangeRate(cc.p(1,0))

水平方向时起点有两个方向:从左到右和从右到左

setMidpoint(cc.p(0,0))  OR  setMidpoint(cc.p(0,1))   这两个是从左到右   即x为0

setMidpoint(cc.p(1,0))  OR setMidpoint(cc.p(1,1))     这两个是从右到左 即x为1

设置进度条方向为竖直方向:

setBarChangeRate(cc.p(0,1))

竖直方向时起点有两个方向:从上到下合从下到上

setMidpoint(cc.p(0,1))  OR  setMidpoint(cc.p(1,1))   这两个是从上到下   即y为1

setMidpoint(cc.p(0,0))  OR setMidpoint(cc.p(1,0))     这两个是从下到上 即y为0

设置进度条方向为两个方向同时运动:

setBarChangeRate(cc.p(1,1))

两个方向的运行情况有4种:左下到右上、右下到左上、左上到右下、右上到左下

setMidpoint(cc.p(0,0)) 左下到右上

setMidpoint(cc.p(1,0)) 右下到左上

setMidpoint(cc.p(0,1)) 左上到右下

setMidpoint(cc.p(1,1)) 右上到左下

(3)设置进度条的进度:setPercentage(参数)

参数为0~~~~100的值。

执行进度条值变化的动作:

local progressTo = cc.ProgressTo:create(5,100)

[ProgressNode]:runAction(progressTo)

cocos2dx-lua 之 ProgressTimer 条形进度条 简单血条的实现相关推荐

  1. 简单血条UI的制作以及跟随物体

    emmmmm,记录一下Unity的学习内容. 在Unity中制作一个简单的血条UI,要求的内容是能够跟随物体移动并且拥有距离感.本次制作使用UI里的Slider 将Slider制作好了以后将Canva ...

  2. ue4圆形血条_UE4_fUI_血条 耐力条

    新建一个UI,用来展示玩家的血条和耐力条 先大概的画一下 去关卡蓝图里应用一下,再细调 最终弄成了这个样子(略丑) 外观先不管了,先做血条的逻辑 每个percent bar的值都一个绑定,可以通过绑定 ...

  3. 优秀课程案例:使用Scratch模拟游戏中的血条显示-血条模拟器!

    点击上面微信号关注我关注我哟每天坚持推送文章,争取做到日更,喜欢的可以设置星标,并分享点赞我们的文章,非常感谢大家的支持,您的点击的在看就是我们的动力! 最近两天我们分享了抽奖大转盘的案例:优秀课程案 ...

  4. Cocos2d-x血条跟随怪物运动----之游戏开发《赵云要格斗》(5)

      这里是Evankaka的博客,欢迎大家前面讨论与交流------      转载请注明出处http://blog.csdn.net/evankaka/article/details/4249474 ...

  5. Cocos2d-x血条跟随怪物运动--之游戏开发《赵云要格斗》(5)cocos2dx 3.3移植版

    源码:git@github.com:baidang201/ARPG_Zhaoyun.git   本章在前面的基础上<Cocos2d-x自定义血条及其美化--之游戏开发<赵云要格斗>( ...

  6. Unity制作头顶血条方式对比与优化

    制作方式主要有四种:OnGUI.NGUI.UGUI.Shader 区别 UGUI的Canvas 有世界坐标和屏幕坐标 UGUI的Image可以使用material UGUI通过Mask来裁剪,而NGU ...

  7. Unity 3D游戏十:血条制作

    前言 中山大学数据科学与计算机学院3D游戏课程学习记录博客. 游戏代码: gitee 参考师兄的博客: 师兄博客 游戏视频:bilibili 游戏要求 血条(Health Bar)的预制设计. 具体要 ...

  8. UI入门——血条制作

    文章目录 实验内容 IMGUI制作简单血条 UGUI设计血条预制 动态效果展示 两种制作的优缺点 IMGUI优缺点分析 UGUI优缺点分析 预制使用方法 更新 解决血条暴露行踪问题 实验内容 实现简单 ...

  9. UI 系统 -- 血条设计

    UI 系统 – 血条设计 UI 系统 – 血条设计 作业与练习 血条设置 实验运行说明 博客地址 实验截图及视频 IMGUI UGUI 实验 Assets 结构 实验过程 IMGUI UGUI 优缺点 ...

最新文章

  1. kvm虚拟机vnc配置
  2. c语言100以内加减乘除,一百以内的加减乘除法游戏....
  3. 一起学ASP.NET Core 2.0学习笔记(一): CentOS下 .net core2 sdk nginx、supervisor、mysql环境搭建...
  4. Windbg学习 (0x0007) 命令-会话控制
  5. Http协议(5)—HTTP摘要认证
  6. ffmpeg源码分析及mp4文件解析
  7. 互联网晚报 | 10月5日 星期二 | 爱奇艺、腾讯、优酷宣布取消超前点播;蜜雪冰城冲刺A股上市;吴京主演电影票房超200亿...
  8. Druid学习之路 (二)Druid架构
  9. 05.SQL Server大数据群集小试牛刀--HDFS查询
  10. eclipse中复制导入的项目并且修改了项目名字,项目后面的括号显示原来项目的名字
  11. slam的回顾(一)
  12. Basic SECS concept渣渣中文翻译
  13. incaseformat病毒解决方法
  14. Android 11.0 12.0强制app横屏显示
  15. 天龙八部八部显示服务器堵塞,天龙八部服务端各目录说明
  16. 软件测试输入准则,单元测试准则
  17. PINGTELNET
  18. 保研复习——线性代数3:矩阵的秩与线性方程组
  19. Linux rm -rf 之rm: cannot remove `linux': Device or resource busy
  20. 魔方教程--很多教程都不对,整理并实践了一下

热门文章

  1. linux 不支持添加 ppa,Ubuntu下如何添加ppa仓库
  2. XF0771 Apple Lighting数据线取电\放电芯片
  3. java实现html语法检查函数_Html或JS语法检测之JSLint工具
  4. 使用Java解决汉诺塔问题
  5. 基于php003飞机票航空售票查询预定系统
  6. ssm航空订票系统毕业设计(附源码、运行环境)
  7. 龙之谷微信该服务器已爆满,龙之谷2手游:开服爆满万人排队却遭打击?键盘侠的底线何在?...
  8. python退出程序-python退出程序
  9. 加水印教程、在线加图片水印(单行)
  10. 高效专业的showcase