zoukankan      html  css  js  c++  java
  • quick-cocos2d-x教程10:实现血条效果。

    血条是常见功能。能够通过一个血条背景和一个不断改变的血条宽度。来实现少血。

    在MainScence.lua中,先改代码:

    function MainScene:ctor()
        local bg = display.newSprite("bg01.jpg")
        bg:setPosition(display.cx, display.cy)
        self:addChild(bg)
        --
        local barBg = display.newSprite("barBg.png")
        barBg:setPosition(display.cx, display.cy)
        self:addChild(barBg)
        --血条的原始尺寸,是185*100。能够定时改宽度185的值
        local barBlood = display.newScale9Sprite("barBlood.png",0,0,CCSize(185, 10))
        barBlood:setPosition(display.cx, display.cy)
        self:addChild(barBlood)
    end

    • bg01.jpg是背景图,上个样例已经写了
    • barBg.jpg血条的背景图,主要是美观好看。
    • barBlood是绿色的血条。注意他是九宫格的图,就是能够拉升不变形的
    • 我们看下display.lua中的样例:
    • ~~~ lua

      -- 创建一个 Scale9 图像,并拉伸到 400, 300 点大小
      local sprite = display.newScale9Sprite("Box.png", 0, 0, CCSize(400, 300))

      ~~~

      @param string filename 图像名
      @param integer x
      @param integer y
      @param CCSize size

      @return CCSprite9Scale CCSprite9Scale显示对象

      ]]
      function display.newScale9Sprite(filename, x, y, size)
          return display.newSprite(filename, x, y, {class = CCScale9Sprite, size = size})
      end

    • 我们能够把CCSize(185, 10)宽度调整,比方改成CCSize(90, 10)。然后每次被击中,就动态改这个值,就实现血条功能。
    • 注意。假设这个血条原始图片过长,但你压缩成一半的尺寸。会出现不缩小的情况。假设我们把这个血条的尺寸改成宽1的像素,那拉伸和缩小就没有问题。



  • 相关阅读:
    SAP OPEN UI5 Step 8: Translatable Texts
    SAP OPEN UI5 Step7 JSON Model
    SAP OPEN UI5 Step6 Modules
    SAP OPEN UI5 Step5 Controllers
    SAP OPEN UI5 Step4 Xml View
    SAP OPEN UI5 Step3 Controls
    SAP OPEN UI5 Step2 Bootstrap
    SAP OPEN UI5 Step1 环境安装和hello world
    2021php最新composer的使用攻略
    Php使用gzdeflate和ZLIB_ENCODING_DEFLATE结果gzinflate报data error
  • 原文地址:https://www.cnblogs.com/llguanli/p/6888010.html
Copyright © 2011-2022 走看看