cocos2dx 3.x(一张背景图利用定时器实现循环轮播)
//
// MainScene.hpp
// helloworld
//
// Created by apple on 16/9/19.
//
// #ifndef MainScene_hpp
#define MainScene_hpp #include <stdio.h>
#include "cocos2d.h"
using namespace cocos2d;
//定义一个场景类 class MainScene : public cocos2d::Layer{
private:
// 成员变量(私有的)
cocos2d::Sprite *sprite;//定义一个精灵成员变量
cocos2d::Sprite *sprite2; public:
virtual bool init(); // 虚函数,返回值为布尔类型,没有函数
// static CCScene * scene();
static cocos2d::Scene* createScene();//static是一个类方法返回场景 void movebd(float times);//注册自定义定时调用方法函数 CREATE_FUNC(MainScene);
}; #endif /* MainScene_hpp */
//
// MainScene.cpp
// helloworld
//
// Created by apple on 16/9/19.
//
// #include "MainScene.hpp"
Scene * MainScene::createScene()
{
auto scene = Scene::create();
//创建层
MainScene *layer = MainScene::create();
scene->addChild(layer);
return scene;
}
bool MainScene::init(){
if (!Layer::init()) {
return false;
} //定义初始位置
sprite = Sprite::create("Cow100_background.png");
sprite ->setPosition(, );
sprite->setAnchorPoint(Vec2(, ));//设置精灵的锚点
sprite ->setScale(2.4f);//放大精灵尺寸2.4倍
// sprite ->setContentSize(Size(200, 100));
this->addChild(sprite);// 添加到层 sprite2 = Sprite::create("Cow100_background.png");//与上面背景精灵一样的,只是坐标点不一样
sprite2 ->setPosition(, );//两张图并行紧贴一起,下面调用定时器实现两张图一起循环移动
sprite2->setAnchorPoint(Vec2(, ));
sprite2 ->setScale(2.4f);
// sprite2 ->setContentSize(Size(200, 100));
this->addChild(sprite2);// 添加到层 // this->schedule(schedule_selector(MainScene::movebd));
schedule(schedule_selector(MainScene::movebd), 0.05);// 创建自定义定时器0.05秒调用一次 return true;
} void MainScene::movebd(float times)
{ // 获取到当前精灵的坐标,X轴-1,Y轴不-
sprite->setPosition(Point(sprite->getPositionX()-,sprite->getPositionY()));
sprite2->setPosition(Point(sprite2->getPositionX()-,sprite2->getPositionY()));
if(sprite->getPositionX() == -){//这里是根据自己的屏幕尺寸设定的,判断精灵X轴坐标的移动长度,也就是背景的长度
sprite ->setPosition(, );//重置背景图坐标点 }
if(sprite2->getPositionX() == -){//这是第二张背景图
sprite2 ->setPosition(, );
} }
cocos2dx 3.x(一张背景图利用定时器实现循环轮播)的更多相关文章
- css3的新属性 新增的颜色--- 透明度---两种渐变---定义多张背景图--background-size
css31==>颜色的6种表示的方法有6种表示颜色的方法 关键字 rgb rgba(css3) 16进制 hsl hsla hsla h=>是色相,值为360, s=>饱和度,0%- ...
- css中用一张背景图做页面的技术有什么优势?
css中用一张背景图做页面的技术有什么优势? 简单介绍一下 CSS Sprites 的优点: 当用户往U盘中拷200张图片,会等很久.但是如果弄成一个文件,再拷贝就会快很多. CSS Sprites ...
- 利用bootstrap写图片轮播
利用bootstrap写图片轮播 缺点是轮播没有固定样式图片样式会改变外框的大小,所以要再设置 以及左右按钮的style也要从新设置 <div class="carousel slid ...
- 利用RecyclerView实现无限轮播广告条
代码地址如下:http://www.demodashi.com/demo/14771.html 前言: 公司产品需要新增悬浮广告条的功能,要求是可以循环滚动,并且点击相应的浮条会跳转到相应的界面,在实 ...
- jQuery轮播图(手动点击轮播)
下面来看看最终做的手动点击轮播效果: 一.原理说明 (1)首先是轮播图的架构,我采用了一个最外边的大div包住两个小div,一个小div里面放四张图片,另一个小div里面放四个数字按钮 (2)对最外边 ...
- jquery特效(5)—轮播图③(鼠标悬浮停止轮播)
今天很无聊,就接着写轮播图了,需要说明一下,这次的轮播图是在上次随笔中jquery特效(3)—轮播图①(手动点击轮播)和jquery特效(4)—轮播图②(定时自动轮播)的基础上写出来的,也就是本次随笔 ...
- jquery特效(3)—轮播图①(手动点击轮播)
写了一个轮播图练练手,先写了一个手动点击轮播的轮播图,随后我会慢慢接着深入写自动轮播图和鼠标悬浮图片停止移动轮播图等,虽然今天我生日,但是代码还是得写的,不能找借口放松自己,原地踏步也算后退. 下面来 ...
- 利用jQuery实现图片无限循环轮播(不借助于轮播插件)
原来我主要是用Bootstrap框架或者swiper插件实现轮播图的功能,而这次是用jQuery来实现图片无限循环轮播! 用到的技术有:html.css.JavaScript(少).jQuery(主要 ...
- JS-特效 ~ 01. 事件对象、offset偏移/检测、无缝滚动、自动循环轮播图
Math.round ( ) :正书四舍五入,负数五舍六入 用定时器,先清除定时器 事件对象 event event:事件被触动时,鼠标和键盘的状态,通过属性控制 Offset:偏移,检测 1. 获取 ...
随机推荐
- HTTP 笔记与总结(6)referer 头与防盗链
在百度贴吧(或 QQ 空间等)中找到一张图片,复制图片地址,在站外通过 img src 引用,会发现: 此外,在一些统计软件中,统计访客的来路(直接访问.外部链接.搜索引擎),都用到了 HTTP 协议 ...
- PHP调用java的class
PHP调用java的class 转:http://hi.baidu.com/lei0827/blog/item/28439a4e923234ced1c86a18.html PHP调用java的cl ...
- 【转载】在LoadRunner中执行命令行程序之:popen()取代system()
我想大家应该都知道在LoadRunner可以使用函数system()来调用系统指令,结果同在批处理里执行一样. 但是system()有个缺陷:无法获取命令的返回结果. 也许你可以用`echo comm ...
- Oracle数据库--SQL函数
Oracle SQL函数 1.ASCII返回与指定的字符对应的十进制数;SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii( ...
- Subset sum problem
https://en.wikipedia.org/wiki/Subset_sum_problem In computer science, the subset sum problem is an i ...
- Kafka 0.10.0
2.1 Producer API We encourage all new development to use the new Java producer. This client is produ ...
- C++ builder的文件操作
在编程的过程中,文件的操作是一个经常用到的问题,在C++Builder中,可以使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是:1.基于C的文件操作:2.基于C++的文件操作:3.基 ...
- Android之Fragment学习笔记②(Fragment生命周期)
一. Fragment生命周期图 二.Fragment生命周期方法介绍 Fragment的生命周期和activity生命周期很像,其生 ...
- Shell 字符串常见操作
参考文章:http://blog.csdn.net/chen_jp/article/details/8922582 一 字符替换 origin=原字符串 str=替换后的字符串 替换命令: str= ...
- 借用layer让弹层不限制在iframe内部
使用方法: 1 除了layer的success,end,cancel回掉函数以外其它的layer参数都可以使用. 2 使用前在layer的js后边把该js引入(可以命名为layerExtend). 3 ...