当前位置: 首页 > news >正文

《入门级-Cocos2d 4.0塔防游戏开发》---第二课:游戏加载界面开发

目录

一、开发环境介绍

二、开发内容

2.1 修改窗口的大小。

2.2 添加加载场景相关代码

2.3 添加资源

三、显示效果

四、知识点

 4.1 Sprite

4.2 定时器


一、开发环境介绍

操作系统:UOS1060专业版本。

cocos2dx:版本

环境搭建教程:

统信UOS下配置安装cocos2dx开发环境_三雷科技的博客-CSDN博客

二、开发内容

       游戏在开始时都需要加载大量的资源,为了让用户有等待时间,因此最先开发的场景为加载游戏资源场景,用于加载游戏资源,当然其中还可以处理升级等操作。

2.1 修改窗口的大小。

在AppDelegate.cpp文件中修改为以下内容:

static cocos2d::Size designResolutionSize = cocos2d::Size(960, 640);

2.2 添加加载场景相关代码

在Classes目录中创建Scene目录用于存储关于场景相关的代码。

mkdir Sence
touch LoadingScene.cpp
touch LoadingScene.h

在CMakeLists.txt文件中加入场景代码文件

2.3 代码内容如下:

  • LoadingScene.cpp
#include "LoadingScene.h"USING_NS_CC;Scene* LoadingScene::createScene()
{return LoadingScene::create();
}// on "init" you need to initialize your instance
bool LoadingScene::init()
{//// 1. super init firstif ( !Scene::init() ){return false;}numberOfLoadedRes = 0;auto visibleSize = Director::getInstance()->getVisibleSize();auto background = Sprite::create("Loadding.png");background->setRotation(-90.0f);background->setPosition(Point(visibleSize.width/2,visibleSize.height/2));addChild(background);// 定时更新,用于检测资源是否被加载完成,如果加载完成才跳入到正真的欢迎页面。schedule(CC_SCHEDULE_SELECTOR(LoadingScene::logic),1.0f);return true;}
// 该代码处理加载资源的操作。
// 加载资源包括图片,声音等。
void LoadingScene::loadSource(){}
void LoadingScene::logic(float dt)
{// 如果你愿意可以在这里通过监听numberOfLoadedRes的值来显示加载进度。if(0 == numberOfLoadedRes){loadSource();}else if(100 == numberOfLoadedRes){// 处理跳转动作。}
}
  • LoadingScene.h
#ifndef __LOADING_SCENE_H__
#define __LOADING_SCENE_H__#include "cocos2d.h"class LoadingScene : public cocos2d::Scene
{
public:static cocos2d::Scene* createScene();virtual bool init();// implement the "static create()" method manuallyCREATE_FUNC(LoadingScene)void loadSource();void logic(float dt);int numberOfLoadedRes;
};#endif // __LOADING_SCENE_H__

2.3 添加资源

由于加载场景中需要使用到资源。因此我们需要将资源拷贝到Resources目录中。

注意:在使用QT调试的时候有可能出现无法找到资源的情况,需要手动将Resources目录内容拷贝的debug/bin/Resources目录中!!!!

三、显示效果

四、知识点

 4.1 Sprite

Sprite翻译成精灵,其实就是场景中的一个图片元素,我们可以通过控制这个图片元素移动来达到动画效果,从而完成功能。

创建精灵需要传递一个图片,图片需要存放在Resources目录内,创建代码如下:

auto background = Sprite::create("Loadding.png");

4.2 定时器

我们可以通过schedule函数来启动定时器。

schedule(CC_SCHEDULE_SELECTOR(LoadingScene::logic),1.0f);

1.0f:表示每隔一秒钟触发一次。

void logic(float dt);

dt:表示两次触发之间的间隔时间。

http://www.lryc.cn/news/102593.html

相关文章:

  • 打卡力扣题目十二
  • QT服务器练习
  • Vcenter 创建 虚拟机配置 Thin Provision 模式 disk
  • 初识mysql数据库之事务的概念及操作
  • MPL-2.0(Mozilla Public License 2.0)
  • Qt+OpenCV+VTK在VS2017中配置路径
  • 线性代数(应用篇):第五章:特征值与特征向量、第六章:二次型
  • Java8实战-总结9
  • 大数据开发面试必问:Hive调优技巧系列一
  • Jupyter Notebook 7重磅发布,新增多个特性!
  • linux V4L2子系统——v4l2架构(1)之整体架构
  • Qt信号与槽机制的本质
  • Linux:入门学习知识及常见指令
  • K8s:Kubernetes 故障排除方法论
  • TCP 三次握手四次挥手浅析
  • 【软件安装】MATLAB_R2021b for mac 安装
  • 电脑维护:10妙招,让你的电脑更加稳定!
  • 大数据面试题:Kafka的单播和多播
  • python与深度学习(八):CNN和fashion_mnist二
  • 开发一个RISC-V上的操作系统(五)—— 协作式多任务
  • Mybatis-plus集合
  • C++ 结构体和联合体
  • 使用TensorFlow训练深度学习模型实战(下)
  • lucene、solr、es的区别以及应用场景
  • Java方法的使用(重点:形参和实参的关系、方法重载、递归)
  • 登录页的具体实现 (小兔鲜儿)【Vue3】
  • 大学如何自学嵌入式开发?
  • pytorch学习——线性神经网络——1线性回归
  • 00 - RAP 开发环境配置
  • 山西电力市场日前价格预测【2023-08-01】