cocos2dx3.3开发FlappyBird总结十四:常量定义

游戏层中水管等需要常量:


#ifndef EngryBird_AppConstant_h
#define EngryBird_AppConstant_h

/**
 * The pipe has four state, using the following tag to mark.
 * > the state up
 * > the state down
 * > the state passed
 * > the state new created
 */
const int kPipeUpTag = 21;
const int kPipeDownTag = 12;
const int kPipePassedTag = 30;
const int kPipeNewTag = 31;

/**
 * > the pipe's height
 * > the pipe's width
 * > the speed of pipe moves
 * > the distance between the down pipe and up pipe
 * > the distance between the pipes vertical
 * > the number of pipe pairs display int the screen in the same time
 * > the distance that the pipe will display in the screen, for player to ready
 */
const int kPipeHeight = 320;
const int kPipeWidth = 52;
const float kPipeShiftSpeed = 80.0f;
const int kPipeUpDownDistance = 100;
const int kPipeInterval = 180;
const int kPipePairCount = 2;
const int kWaitDistance = 100;

/**
 * The radius of the bird
 */
const int kBirdRadius = 15;

/**
 * The width and height of the design resolution
 */
const int kDesignWidth = 288;
const int kDesignHeight = 512;

/**
 * The tag of game layer in the scene
 */
const int kGameLayerTag = 101;

#endif
时间: 2024-10-03 08:48:50

cocos2dx3.3开发FlappyBird总结十四:常量定义的相关文章

cocos2dx3.3开发FlappyBird总结十二:状态层设计

状态层是比较复杂的了,状态层需要与游戏层通信,因此也需要为游戏层先设计一个代理类,以便状态层遵守游戏层的代理,这样游戏层就可以在游戏开始.得分.结束时,告诉状态层做出相应的状态表现了. 游戏层的代理类: /** * The delegate between status layer and game layer */ class GameStatusDelegate { public: /** * When the game start, this method will be called *

cocos2dx3.3开发FlappyBird总结十五:记录玩家得分

在游戏结束时,需要更新和获取最新得分. 设计一个工具类,只有类方法,这样外部就能很方便地获取和更新值. /** * This is a help class, using to operate the user information conveniencely */ class RecordTool { public: /** * Get the best score with a key, store in the UserDefault */ static int getBestScore

cocos2dx3.3开发FlappyBird总结十:背景层设计

游戏背景层的任务是很简单的,只是根据当前时间来显示白天或者黑夜背景图,提供获取地面的高度方法. #ifndef __EngryBird__BackgroundLayer__ #define __EngryBird__BackgroundLayer__ #include "cocos2d.h" /** * The game background,showing the background information * in the game. */ class BackgroundLay

cocos2dx3.3开发FlappyBird总结十六:游戏层实现

游戏有三种状态,准备开始.游戏中.游戏结束,定义一个枚举来表示: /** * The status of game, it has three status. */ typedef enum tag_GameState { /** The game hasn't started, but ready to start */ kGameStateReady = 1, /** The game has started, and the player is playing the game */ kG

Windows 8风格应用开发入门 二十四 App Bar构建

构建应用栏的目的的显示导航.命令和始终隐藏不需要的使用的工具.我们可以把应用栏放在页面 顶部或底部或同时存在顶部和底部. 默认情况在AppBar是隐藏的,当用户单击右键.按下Win+Z .或从屏幕的顶部或底部边缘轻松时可显示或关闭AppBar.当然我们也可以通过编程的方式将AppBar设 置为当用户做选择或与应用交互时显示. 构建AppBar基本步骤 通常我们构建一个应用的 AppBar,只需要三步就可以完成: 开发入门 二十四 App Bar构建-jenkins构建自由风格"> 如何构建

Android开发入门(十四)显示图像 14.2 ImageSwitcher

前面的一节,介绍了如何组合使用Gallery和ImageView.但是,有的时候当你在gallery中点击一个图片 ,你可能不希望一个图片"突然地"在imageview中显示出来.例如,你可能希望给某个图片设置一些切换动 画.此时,就需要使用ImageSwitcher和Gallery一起使用.下面展示如何使用ImageSwitcher. 1. 创 建一个工程,ImageSwitcher. 2. main.xml中的代码. <?xml version="1.0"

Android开发入门(十四)显示图像 14.1 Gallery和ImageView

Gallery可以显示一系列的图片,并且可以横向滑动.下面展示如何使用Gallery去显示一系列的图片. 1. 创建一个工程,Gallery. 2. main.xml中的代码. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_

UWP开发入门(十四)—— UserControl中Adaptive UI的小技巧

原文:UWP开发入门(十四)-- UserControl中Adaptive UI的小技巧 本篇我们通过绘制一个非常简单的UserControl控件,来分享一下对Adaptive UI的理解及一些图形绘制的技巧. 现在流行的APP都少不了精致的用户头像,首先假设我们需要绘制如下的图形作为默认头像: <UserControl x:Class="AdaptiveUserControl.Circle0" xmlns="http://schemas.microsoft.com/w

Xamarin.Android开发实践(十四)

原文:Xamarin.Android开发实践(十四) Xamarin.Android之ListView和Adapter 一.前言 如今不管任何应用都能够看到列表的存在,而本章我们将学习如何使用Xamarin去实现它,以及如何使用适配器和自定义适配器(本文中的适配器的主要内容就是将原始的数据转换成了能够供列表控件显示的项).   二.简介适配器 在开始之前我们需要先了解下适配器,首先是提供给我们使用的适配器之间的关系: 下面我们将上面的适配器进行简单的介绍: BaseAdapter:顾名思义,就是