基本的思想都是建立乙個clippingnode,將要擷取的節點新增到clippingnode中,節點加上action即可。
下面是左右滾動的**,如果是上下滾動,更簡單了,只需修改y座標即可,都不用動態去計算時間。
--獲取寬字元的寬度
function
widewordwidth(fontname, fontsize)
local key =generatekey(fontname, fontsize)
if mwidewordwidth[key] == nil
then
local str ="
abcdefghigklmnopqrstuvwxyz1234567890
"mwidewordwidth[key] = cc.labelttf:create(str, fontname, fontsize):getcontentsize().width / (string.len(str) / 3
)
endreturn
mwidewordwidth[key]
end--
生成key
function
generatekey(fontname, fontsize)
return
string.format("
%s%d
", fontname, fontsize)
end--
1 建立剪裁區
self.m_pcliprect = cc.rect(0, display.cy, display.width * 0.2, display.height * 0.2
)self.m_pclipnode =display.newclippingregionnode(self.m_pcliprect):addto(self)
--2 建立文字區域
self.msgcontent =cc.ui.uilabel.new()
:align(display.center_left, self.m_pcliprect.width + self.m_pcliprect.x, self.m_pcliprect.y + display.height * 0.2 * 0.5
):addto(self.m_pclipnode)
--3 滾動文字的長度
local textw =math.round( self.msgcontent:getcontentsize().width)
--4 移動距離
local ndistance = math.round( self.m_pcliprect.width) +textw
--5 移動所需時間
local speed = 2
--一秒移動多少個文字的距離
local ntime = math.floor(ndistance/widewordwidth(font_name, zysize.scale(26))/speed)
--6 動作
local tarfinsh = function
()
if self.msgcontent ~= nil
then
self.msgcontent:removeself()
self.msgcontent = nil
endend
local paction = cc.moveby:create(ntime, cc.p(-self.m_pcliprect.width, 0
))local pcallback =cc.callfunc:create(tarfinsh)
local rep =cc.sequence:create(paction, pcallback)
self.msgcontent:runaction(rep)
上下滾動動作部分**
local pactionshow = cc.moveto:create(0.5, cc.p(display.cx, self.m_pcliprect.y + self.m_pcliprect.height * 0.5))local pactionstay = cc.delaytime:create(2)))
local pcallback =cc.callfunc:create(tarfinsh)
self.msgcontent:runaction(rep)
跑馬燈效果 文字上下滾動效果
void vieddidload裡面 void change陣列中的內容僅供測試用,具體內容可以通過後台伺服器獲取或者寫死 資料條數可以改變,我寫的是3條 if a 2 3 0 if a 3 3 0 類似下圖效果,文字滾動,左邊還有個小喇叭 動態更換可以使用uiimageview 自帶的方法進行設定...
jquery單行文字向上滾動效果
jquery單行文字向上滾動效果示例 jquery實現的單行文字向上滾動效果,看看間斷滾動文字 指令碼學堂 提供。infolist infolist ul infolist ul li infocontent var interval 1000 兩次滾動之間的時間間隔 var stepsize 26...
title標籤的怎麼實現文字滾動效果
在我實現qq 官網的時候,遇到了這樣的問題,就是title標籤中文字過長時,如何實現文字的滾動效果呢?別慌,看下面的 解析 我在動態的設定title標籤中的內容,可以將text 中的內容看做是string console.log console.log head title text split 將...