quick cocos2dx跑馬燈實現

2021-06-28 10:20:10 字數 1366 閱讀 2272

利用clippingnode可以製作出許多遮擋效果,跑馬燈就是其中一種。

跑馬燈是一種把文字從左向右或從右向左移動,然後到某乙個固定位置訊息的技術。

實現起來還是挺簡單的,實現的思路如下:

1 建立乙個要顯示的區域(矩形)

2 建立乙個裁剪結點,把要顯示的區域設定為模板

3 把要顯示的文字放到裁剪結點中,並讓它以一定的速度從右向左移動。

利用clippingnode可以製作出許多遮擋效果,跑馬燈就是其中一種。

--用四個點圍成乙個矩形

local w = display.width - 20

local height = 30

local startx = 0

local starty = 0

local verts = ,,,

}-- 構造矩node和裁剪node

local drawnode = ccdrawnode:create()

drawnode:drawpolygon(verts, ccc4f(255,255,0,100), 1, ccc4f(0,255,0,100))

local clipnode = ccclippingnode:create()

clipnode:setstencil(drawnode)

clipnode:setposition(ccp(50, 50))

clipnode:addto(self)

self.lab_text = cc.ui.uilabel.new()

self.lab_text:align(display.bottom_left, width - 50, 10)

self.lab_text:addto(clipnode)

self.handlescrolltext = scheduler.scheduleglobal(handler(self, self._oninterval), 0.1)

function mainscene:_oninterval(dt)

local w = self.lab_text:getcontentsize().width

local x = self.lab_text:getpositionx()

if x <= -w then

scheduler.unscheduleglobal(self.handlescrolltext)

return

endself.lab_text:setpositionx(x - self.speed)

end

這樣子整個跑馬燈所需要的元素就都ok了

注意,整個控制項都是以0,0點作為錨點的,這樣子放起來習慣些。

QUICK COCOS2DX建立新專案

建立新專案之前,確保已經正確設定了quick cocos2dx root環境變數 啟動 終端 應用程式,然後進入需要放置新專案的目錄 cd desktop執行create project.sh命令,並指定專案的 package name quick cocos2dx root bin create ...

quick cocos2d x的Image使用方法

image的使用方法相對簡單。quick cocos2d x中可以指定該image是否使用9宮圖來進行渲染。不使用9宮格的image建立 local img cc.ui.uiimage.new test.png 使用9宮格的image建立 local img cc.ui.uiimage.new te...

Quick Cocos2d x 觸控機制詳解

cocos2d x 原本的觸控機制存在一些限制,在使用中需要開發者做不少額外的處理。而且 cocos2d x 的觸控事件是按照目標的優先順序來分派的,而不是按照目標的顯示層級來分派。針對這個問題,quick cocos2d x 提出了自己的一套觸控機制。本文詳細介紹了這套新機制的實現原理和用法。以下...