quick cocos2dx跑马灯实现

quick cocos2dx跑马灯实现,第1张

概述利用clippingnode可以制作出许多遮挡效果,跑马灯就是其中一种。 跑马灯是一种把文字从左向右或从右向左移动,然后到某一个固定位置消息的技术。 实现起来还是挺简单的,实现的思路如下: 1 创建一个要显示的区域(矩形) 2 创建一个裁剪结点,把要显示的区域设置为模板 3 把要显示的文本放到裁剪结点中,并让它以一定的速度从右向左移动。 利用clippingnode可以制作出许多遮挡效果,跑马灯就 利用clipPingnode可以制作出许多遮挡效果,跑马灯就是其中一种。

跑马灯是一种把文字从左向右或从右向左移动,然后到某一个固定位置消息的技术。

实现起来还是挺简单的,实现的思路如下:

1 创建一个要显示的区域(矩形)

2 创建一个裁剪结点,把要显示的区域设置为模板

3 把要显示的文本放到裁剪结点中,并让它以一定的速度从右向左移动。


利用clipPingnode可以制作出许多遮挡效果,跑马灯就是其中一种。

    --用四个点围成一个矩形    local w      = display.wIDth - 20    local height = 30    local startX = 0    local startY = 0    local verts  = {    {startX,startY},{w,height},{startX,height}    }    -- 构造矩node和裁剪node    local drawNode = CCDrawNode:create()    drawNode:drawpolygon(verts,ccc4f(255,255,100),1,ccc4f(0,100))    local clipNode = CcclipPingNode:create()    clipNode:setStencil(drawNode)    clipNode:setposition(ccp(50,50))    clipNode:addTo(self)    self.lab_text = cc.ui.UILabel.new({text = "跑马灯测试测试",size = 20,color = display.color_WHITE})    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    end    self.lab_text:setpositionX(x - self.speed)end

 

这样子整个跑马灯所需要的元素就都OK了

注意,整个控件都是以0,0点作为锚点的,这样子放起来习惯些。

总结

以上是内存溢出为你收集整理的quick cocos2dx跑马灯实现全部内容,希望文章能够帮你解决quick cocos2dx跑马灯实现所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1034995.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存