`
mmdev
  • 浏览: 13300654 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

基于WiEngine游戏引擎--背景移动

 
阅读更多

转发,请保持地址:http://blog.csdn.net/stalendp/article/details/8602281

手机游戏中动作类的游戏还是很受欢迎的,这些游戏中,大部分有着移动的背景。这篇文章将介绍使用WiEngine的wyParallaxNode类来实现这一效果。

使用wyParallaxNode,需要指定x和y轴的移动范围,其默认为[-MAX_FLOAT / 2,MAX_FLOAT / 2];下面的代码,限定了y轴不进行移动。

wyParallaxNode* parallax = wyParallaxNode::make();
parallax->setMinY(0);
parallax->setMaxY(0);
addChildLocked(parallax);

接着向wyParallaxNode中添加移动的sprite,我使用了两个图片作为背景(注:图片来源网络,只是用于学习目的):



其中一个用于前景,一个用于背景,以不同的速率进行移动。

要使图片进行反复迭代地出现,需要使用wyTiledSprite,定义如下:

wyTiledSprite* bg_front = wyTiledSprite::make(wyTexture2D::makePNG(RES("R.drawable.bg3")));
bg_front->setContentSize(wyDevice::winWidth, DP(115));
bg_front->setTileDirection(true, false);
bg_front->setAnchor(0, 0);
bg_front->setPosition(0, 0);

wyTiledSprite* bg_back = wyTiledSprite::make(wyTexture2D::makePNG(RES("R.drawable.bg2")));
bg_back->setContentSize(wyDevice::winWidth, DP(115));
bg_back->setTileDirection(true, false);
bg_back->setAnchor(0, 0);
bg_back->setPosition(0, 0);

接着把上面定义的sprite,添加到wyParallaxNode中,并指定不同的视差比例,代码如下:

parallax->addChild(bg_back, -1, 0.1f, 1.0f);
parallax->addChild(bg_front, 2, 1.0f, 2.0f);

最后让动画动起来:

wyTimer* timer = wyTimer::make(wyTargetSelector::make(this, SEL(Background::update)));
scheduleLocked(timer);
。。。。。

void update(wyTargetSelector* ts) {
	parallax->offsetBy(5, 0);
}

效果如下:




分享到:
评论

相关推荐

    WiEngine-master

    WiEngine 是一个专门为移动游戏开发设计的开源游戏引擎,它主要针对iOS和Android平台,旨在简化游戏开发过程,提供高效的游戏逻辑和渲染能力。在"WiEngine-master"这个压缩包中,我们很可能是获取到了WiEngine的源码...

    一个用wiEngine写的非常简单的游戏

    这是一个使用wiEngine手机游戏引擎写的一个非常简单的游戏。游戏只有两个场景,一个是欢迎场景,一个是游戏场景。欢迎场景只有一个背景图,一张游戏logo和一个开始游戏的按钮,点击开始游戏按钮,会进入游戏场景。在...

    WiEngineDemos 微云游戏引擎示例代码

    微云游戏引擎(WiEngine)是一款强大的跨平台游戏开发工具,它允许开发者使用Java语言进行游戏逻辑编写,同时支持2D和3D图形渲染,提供丰富的游戏开发功能,简化了移动设备上的游戏开发流程。 在这个WiEngineDemos...

    微云游戏引擎WiEngineDemos_java源代码

    微云游戏引擎WiEngine是一款专为移动设备设计的游戏开发框架,尤其适用于Android和iOS平台。它为开发者提供了高效、易用的工具集,用于构建2D游戏,支持丰富的图形渲染、音频处理、物理模拟等功能。这个...

    WiEngine入门笔记(1)学习源码

    WiEngine 是一个强大的游戏开发框架,专为移动设备设计,特别是Android和iOS平台。它由C++编写,提供了丰富的2D游戏开发功能,包括图形渲染、物理引擎、音频处理、动画系统等。这个"WiEngine入门笔记(1)学习源码...

    Cocos2d开发资源大集合

    - 移动的精灵:讲解如何在游戏中控制角色的移动。 - 射击子弹&碰撞检测:教授如何实现简单的物理交互和碰撞效果。 - 音乐音效:指导如何添加声音效果提升游戏体验。 - 打包和发布:最后一步,教你如何将游戏发布...

    Android游戏开发步骤及相关引擎解析

    - **Angle**:一款敏捷且适合快速开发的2D游戏引擎,基于OpenGLES。 - **Rokon**:虽然已被暂停开发,但其代码简单易懂。 - **AndEngine**:推荐使用,代码简单,适用于中小规模项目。 - **WiEngine**:使用纯...

    微云游戏引擎文档002

    微云游戏引擎(WiEngine)通过其核心组件`EventDispatcher`进行事件的分发与管理,这一机制确保了引擎内部对用户交互、硬件输入和其他系统级事件的高效响应。所有事件处理器需在`EventDispatcher`上注册,以便接收并...

    微云游戏引擎开发文档001

    ### 微云游戏引擎开发文档001:深入了解Actions概念及用法 #### 前言 微云游戏引擎开发文档001介绍了微云游戏引擎中的动作(Actions)概念及其实现方式,这对于理解如何在游戏中实现动画效果非常重要。本文将详细...

    ParticleDesigner

    对于WiEngine这个跨平台的游戏引擎,ParticleDesigner的导出设置至关重要。WiEngine目前只支持PNG格式的内嵌图片,因此在设计过程中,我们需要确保所有粒子图片都以PNG格式保存并内嵌在.plist文件中。这样,当游戏...

    car2源代码

    棺材笔记一 大于你妹的20个字符啊

Global site tag (gtag.js) - Google Analytics