这次是由UIPanel和UILabel组成
两个UILbel 一个在前面一个在后面 ,语言是Lua
下面展示一些 代码片
。
// An highlighted block
local function _UpdateMarqueeMove()
--这里开始移动位置
marqueeLabel.transform.localPosition =
Vector3.New(marqueeLabel.transform.localPosition.x + -50 * Time.deltaTime, 0, 0)
marqueeLabelRinght.transform.localPosition =
Vector3.New(marqueeLabelRinght.transform.localPosition.x + -50 * Time.deltaTime, 0, 0)
if marqueeLabel.transform.localPosition.x < -scrollView.width / 2 then
--当第一个过了最前面之后 要重置第一个的位置到第二个的后面
marqueeLabel.transform.localPosition =
Vector3.New(
marqueeLabelRinght.transform.localPosition.x + marqueeLabelRinght.printedSize.x + 50 + scrollView.width / 2,
0,
0
)
end
--当第二个过了最前面之后 要重置第二个的位置到第一个的后面
if marqueeLabelRinght.transform.localPosition.x < -scrollView.width / 2 then
marqueeLabelRinght.transform.localPosition =
Vector3.New(
marqueeLabel.transform.localPosition.x + marqueeLabel.printedSize.x + 50 + scrollView.width / 2,
0,
0
)
end
end
local function _UpdateMarqueeView()
local marqueeString = "这是跑马灯的内容啊这是跑马灯的内容啊这是跑马灯的内容啊这是跑马灯的内容啊"
marqueeLabel.text = marqueeString
marqueeLabelRinght.text = marqueeString
marqueeLabel.transform.localPosition = Vector3.New(marqueeLabel.printedSize.x + 50 + scrollView.width / 2, 0, 0)--这里设置初始位置 也就文字的长度+间隔+隔离区域/2
marqueeLabelRinght.transform.localPosition =
Vector3.New(
marqueeLabel.printedSize.x + marqueeLabelRinght.transform.localPosition.x + 50 + scrollView.width / 2,
0,
0
)--这里设置初始位置 也就marqueeLabel前面文字的位置+文字的长度+间隔+隔离区域/2
UpdateBeat:Remove(_UpdateMarqueeMove)
---这里启动Update
UpdateBeat:Add(_UpdateMarqueeMove)
end