代码纯属工作中遇到问题,回家解析,次日在运用到工作中,算是人生记录,有无帮助希望大家勿喷。
local size = cc.Director:getInstance():getWinSize()
local GameScene = class("GameScene",function()
return cc.Scene:create()
end)
function GameScene:create()
local scene = GameScene.new()
scene:addChild(scene:createLayer())
return scene
end
function GameScene:ctor()
end
--创建层
function GameScene:createLayer()
cclog("GameScene init")
local layer = cc.Layer:create()
local label = cc.Label:createWithSystemFont("HelloWorld","Arial",26)
label:setPosition(cc.p(size.width/2,size.height/2+150))
label:setAnchorPoint(1.0,1.0)
label:setTextColor(cc.c4b(152,255,255,100))
layer:addChild(label)
local sprite = cc.Sprite:create("HelloWorld.png")
sprite:setPosition(cc.p(size.width/2,size.height/2))
layer:addChild(sprite)
local function update(delta)
local x,y = label:getPosition()
label:setPosition(cc.p(x,y-2))
end
--开始事件调度
layer:scheduleUpdateWithPriorityLua(update,0)
local function onNodeEvent(tag)
if tag == "exit" then
--停止事件调度
layer:unscheduleUpdate()
end
end
layer:registerScriptHandler(onNodeEvent)
self.label_1 = cc.CSLoader:createNode("res/Layer_1.csb")
self.label_1:setPosition(self.label_1:getPositionX()-200, self.label_1:getPositionY())
local num_front = self.label_1:getChildByName("num_front")
local num_back = self.label_1:getChildByName("num_back")
--local num_point = self.label_1:getChildByName("num_point")
local wang = self.label_1:getChildByName("Text")
local num = 1
num_front:setString(tonumber(123))
--num_point:setString(".")
num_back:setString(tonumber(num))
wang:setAnchorPoint(0,0.5)
num_back:setPositionX(wang:getPositionX())
local base = 0
if tonumber(num) > 99 and tonumber(num) < 1000 then
base = 3
elseif tonumber(num) > 10 and tonumber(num) < 100 then
base = 2
elseif tonumber(num) > 0 and tonumber(num) < 10 then
base = 1
end
--一个数字占10个像素
num_front:setPositionX(num_back:getPositionX()-10*base)
layer:addChild(self.label_1)
return layer
end
return GameScene