博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Quick-cocos2d-x3.3 Study (七)--------- 滚动的背景
阅读量:5815 次
发布时间:2019-06-18

本文共 1672 字,大约阅读时间需要 5 分钟。

滚动的背景

1. 先创建两个背景图片,并添加到一个表中

1 -- 创建一个滚动的背景 2 function GameScene:createBackground(  ) 3     -- body 4     -- 创建一个背景1 5     local background1 = display.newSprite("image/background/b1.png") 6         :align(display.BOTTOM_LEFT, display.left, display.bottom + 10) 7         :addTo(self) 8     local background2 = display.newSprite("image/background/b2.png") 9         :align(display.BOTTOM_LEFT, display.left + background1:getContentSize().width, display.bottom)10         :addTo(self)11 12     -- 把创建的两个背景添加到表中13     table.insert(self.background, background1)14     table.insert(self.background, background2)15 16 end

2.创建一个滚动背景的函数

1 -- 创建一个滚动背景的函数 2 function GameScene:scrollBackground( dt ) 3     -- body 4     -- 判断第二个背景的位置,如果移动到超出屏幕的左边,则将第一个背景显示到屏幕上 5     if self.background[2]:getPositionX(  ) <= 0 then 6         self.background[1]:setPositionX( 0 ) 7     end 8     -- 设置x轴的位置,一每帧50的速度向右运动 9     local x1 = self.background[1]:getPositionX() - 50 * dt10     -- 背景二的图片紧跟背景一的图片11     local x2 = x1 + self.background[1]:getContentSize().width12     -- 设置两个图片的位置13     self.background[1]:setPositionX(x1)14     self.background[2]:setPositionX(x2)15 16 end

3.在crot函数中调用这两个函数,并启动update, (帧事件)实现背景的滚动

1 function GameScene:ctor(  ) 2     -- body 3     -- 创建一个 table 来存放背景 4     self.background = {} 5  6     self:createBackground() 7  8     -- 调用帧事件 9     self:addNodeEventListener( cc.NODE_ENTER_FRAME_EVENT, handler( self, self.scrollBackground ) )10     self:scheduleUpdate()11 12 end

 

self:unscheduleUpdate()  -- 禁用帧事件,停止整个背景层滚动

 

其中,addNodeEventListener 方法用于注册帧事件,

scheduleUpdate 方法则启用了帧事件,

只有调用了 scheduleUpdate 后,帧事件才会被触发

 

转载于:https://www.cnblogs.com/dudu580231/p/4818521.html

你可能感兴趣的文章
没有JS的前端:体积更小、速度更快!
查看>>
数据指标/表现度量系统(Performance Measurement System)综述
查看>>
GitHub宣布推出Electron 1.0和Devtron,并将提供无限制的私有代码库
查看>>
论模式在领域驱动设计中的重要性
查看>>
微软将停止对 IE 8、9和10的支持
查看>>
微服务架构会和分布式单体架构高度重合吗
查看>>
《The Age of Surge》作者访谈
查看>>
测试人员的GitHub
查看>>
Spring Web Services 3.0.4.RELEASE和2.4.3.RELEASE发布
查看>>
有关GitHub仓库分支的几个问题
查看>>
无服务器计算的黑暗面:程序移植没那么容易
查看>>
云原生的浪潮下,为什么运维人员适合学习Go语言?
查看>>
EAServer 6.1 .NET Client Support
查看>>
锐捷交换机密码恢复(1)
查看>>
Kali linux virtualbox rc=1908 错误解决办法
查看>>
linux软件包管理之三(源代码安装)
查看>>
数据库三范式是什么?
查看>>
[转载]设置Ubuntu自动连接无线,无须再输入密钥环和无线密码
查看>>
九叔Xen App测试报告
查看>>
Apache配置
查看>>