自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 cocos2d-x飞机大战——敌人生成、移动,从json表中获取数据

一、配置json表,从json表中获取数据1、配置json表:“{}”代表对象,“[]”代表数组,“:”左边表示键,右边表示值,数据之间用“,”隔开,具体配置表如下[    {      "id":1001,      "atc":100,      "hp":100,      "interval":2,      "pics":        ["Plane1_0.png.

2018-09-10 19:32:15 860

原创 cocos2d-x飞机大战——飞机移动的动画效果

具体需求:飞机向左移动播放向左移动动画,向右移动播放向右移动的动画实现思路:cocos2d-x里面提供了Animation类,该类继承Ref和Clonable,并不继承Action基类,所以无法直接传入Node::runAction()方法中,但Animate类却继承了Action类,且可以用Animation类来进行构造。所以具体实现方法是:用Animation类加载动画,Animate...

2018-09-07 16:36:44 904

原创 cocos-2dx 中类之间的关系

一、Node、Ref所有类都继承自Ref类,Ref类具有retain():保留当前对象指针,让其不会被自动释放,因此程序员要主动释放调用了retain的指针release():释放该对象指针)autorelease():将该对象丢入自动释放池,每运行一帧,cocos引擎会自动清除所有池子中未被使用的指针,cocos宏定义的CREATE_FUNCTION会默认将创建的对象丢入自动释放...

2018-09-07 16:34:56 473

原创 cocos2d-x飞机大战——加载页面到游戏菜单,再从游戏菜单进入地图

为了节省内存,提高效率,大多数游戏开发者会将零碎的图片合成一张图片(使用TexturePacker可以实现合图功能,shoeBox可以拆图)1、使用cocos2d-x引擎如何获取合图中的某一张图首先应当获取精灵帧缓冲区,将合图加载进缓冲区://获取精灵帧缓冲区,里面存放精灵帧 SpriteFrameCache* pCache=SpriteFrameCache::getInstanc...

2018-09-05 20:33:51 437

原创 cocos-2dx引擎helloWorld文件初步认识

头文件:#ifndef __HELLOWORLD_SCENE_H__#define __HELLOWORLD_SCENE_H__#include "cocos2d.h"USING_NS_CC;class HelloWorld : public cocos2d::Layer{public: static cocos2d::Scene* createScene(); ...

2018-09-04 20:39:17 212

原创 C++类的对象作为函数参数和返回值的传递方式

一、普通数据作为函数参数的和返回值的传递方式:作为函数参数(形参结合):主调函数调用被调函数时,主调函数已经被压入了运行栈中,首先将要传递的参数压入运行栈的一段特殊区域中(这段内存,主调函数和被调函数都可以访问到),再将被调函数压入运行栈中(被调函数的形参此时才具有内存,且在此时将主调函数的实参赋值给形参)完成了形参结合。作为函数返回值:主调函数调用被调函数时,被调函数运行结束,返...

2018-09-03 20:59:36 13036 1

原创 C++控制台RPG游戏:对话系统

具体实现思路:CTalk类继承窗口基类,里面封装了updata()和onRander()方法,里面包含了结构体SArrTalk*  m_pArrTalk,用来存对话数据。CTalk类控制对话的进行,以及数据的渲染。而对话的内容则存在相应的文件之中,如NPC的对话存在NPC的配置表之中,哪个类需要对话,就让这个类包含CTalk类的对象,由此完成对话。CTalk类的代码:头文件#...

2018-09-01 16:01:07 3201

原创 C++控制台RPG游戏具体实现思路: 任务系统

接受任务,提交任务,显示任务玩家里面应该有一个容器,用来存放已接收的任务,任务NPC里面也应该有一个容器,用来存放开启的任务接受任务:1.不同NPC对应不同任务:任务数据里面应该对应包含NPCID属性。由此实现不同npc对应不同任务(同商店)2.NPC里面有开启的任务,和没开启的任务:任务数据应该具有是否开启的属性,满足条件开启任务,否则不开启,NPC里面只显示开启的任...

2018-09-01 15:29:50 2268

原创 C++RPG控制台游戏,用窗口基类管理各个窗口

GameMgr中定义窗口基类指针。通过更该窗口基类的指针指向(更改为:菜单、地图、商店等窗口)实现窗口之间的转换问题:GameMgr是否不再直接管理菜单、地图、商店。是否还要定义其成员变量。倘或不再直接管理,如何在一个窗口中,拿到另一个窗口数据?窗口管理为何不好:一、GameMgr不再对map等场景进行直接管理,而是在管理其父类CWndBase:GameMgr不再对map等场景...

2018-08-24 14:34:56 1458

原创 控制台RPG游戏具体实现思路:背包功能

一、背包的渲染以及数据更新:同商店一样,更改游戏状态即进入背包界面。(地图、背包、商店、以及尚未实现的战斗场景均独立)。背包的渲染与控制背包的选择与商店相同,都是控制容器的索引。这里不再赘述二:从商店购买商品进入背包。因为商品中陈列的商品,均不需要对它进行任何功能上的操作(只是陈列数据而已,无法加攻击力等功能)。所以商品里的商品均不是物品的实体,而背包中物品却不仅仅是数据。因此...

2018-08-21 16:48:23 2432 1

原创 C++控制台RPG游戏具体实现思路:装备栏功能

一、装备物品时,人物属性要进行相应的更改:player类里面写一个playerAttributeToInit()函数,用于将玩家当前属性置为没有穿戴任何装备时的属性,每次进行装备更新时,调用物品里面的usitem()函数,进行玩家属性的相应更改。具体实现如下:equipment类:if (KEY_DOWN(VK_RETURN)) { wearEquiepment(m_vecEq...

2018-08-21 16:46:37 2069

原创 控制台RPG游戏具体实现思路:商店功能

商店功能一、进入商店:当条件满足时,游戏状态改为E_GAMESTATE_SHOP,将玩家坐标还原(否则,玩家坐标与商店坐标重合,将一直重复进入商店)。处理逻辑写在地图的碰撞中,关键代码: //玩家碰到NPC vector<CNpc*>vecNpcs = npcMgr->getNpcs(); for (int i = 0; i < vecNpcs.size(...

2018-08-20 20:32:57 1284

原创 C++中对于指针的理解

一、指针变量指针变量和普通变量区别不大,都是变量。任何变量都包含两个属性——地址和值,不用的是:普通变量存储的值就是可供用户直接使用的数据,而指针变量存储的值为某个地址。任何变量只要超出其作用域就会无效(普通变量和指针变量都是如此)。二、关于创建指针指针在创建时有三种方式:1.为指针开辟一个内存。2.指针指向的内存为空。3.指针指向的内存为某个可用的内存。形式如下:int...

2018-08-17 14:05:36 209

原创 instanceof() isInstanceof() isAssignableFrom()三者之间的区别。

首先,语法上:obj.instanceof(class),obj为任意一个类对象,class则是另外一个类的名称。Class.inInstance(obj),Class为Class对象,obj则为任意一个类对象如Class.isAssignableFrom(cls),Class为Class对象,cls为Class类对象具体用法参见下面代码:class SuperA{}class A exten...

2018-05-28 17:42:42 556

原创 类型信息

前言:最近学习状态好像是有点差的,又是联盟又是我的世界。想上白金,上不去,玩我的世界一玩就是没日没夜,终于,在女朋友的威逼利诱下,拿起了上上个礼拜看得第十四章,果然,上次什么都没看进去。一、什么是Class类。Class类也是类的一种,java里面所有的类都是Class类的对象。(区别于关键字class,这里的Class类为大写),Class类里面拥有许多方法,诸如:getName(),getSi...

2018-05-18 17:16:41 138

原创 JAVA中的异常

前言: 不知道是我的状态问题还是说异常这一章有点不一样,一下午我把整个章节看完了,但是仔细想想却又感觉什么都没看进去,所以想写这篇文章来复习一下这个章节,或者说,再学习一下。1:JAVA中的异常被称为“被检查的异常”       JAVA 中任何方法被声明为可能抛出一个类(即存在异常说明),则在任何使用方法时都应该捕捉异常,否则会报错。具体如下:package p459;import p452...

2018-05-08 16:00:20 137

原创 反向迭代器

我们希望在默认的前向迭代器的基础上,添加反向迭代器能力。(迭代器要适用于foreach语句中)具体思路:所有实现了iterable接口的类都能够被用于foreach语句中。要想实现双向迭代器的功能,首先可以声明一个类(ReversibleArrayList)继承ArrayList,使用ArrayList里面自带的正向迭代器,在ResersibleArrayList里面使用一个方法来实现反向迭代功能...

2018-04-28 22:17:52 252

原创 持有对象之间的相互关系。

简单的容器分类:其中,ListIterator是Iterator的子类,仅供List使用(这里漏画了一条从List导向ListIterator的线),通过List.ListIterator()方法可以生成一个ListIterator的对象。同样,因为List继承Collection,同样可以通过iterator()方法生成一个Iterator的对象(同理,Set,Queue都可以这样)。值得注意的...

2018-04-28 18:31:39 236

原创 写一个Command类,它包含一个String域和一个显示该String域的方法operation(),写第二个类,它具有一个使用Command对象来填充一个Queue的方法。……

代码如下:package p424;import java.util.LinkedList;import java.util.Queue;public class UseCommand { private Queue<Command> queue =new LinkedList<Command>(); public Command addQueue(Comman...

2018-04-26 18:49:47 264

原创 修改练习1中的Gerbil类,将其放入Map中,将每个Gerbil的名字与每一个Gerbil关联起来。为keySet()获取Iterator,使它遍历Map,针对每个键查询Gerbil,然后打印出键。

这里,键:每个Gerbil的名字即“Gerbil+编号”,值:Gerbil类的对象。package p421;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import p393.Gerbil;public class UseMap { Map<String,Gerbil&g...

2018-04-26 17:29:13 388

原创 利用栈对表达式进行求值,+表示将后面的字母压进栈,-表示弹出栈顶字母并打印

package p414;public class StackTest { private Stack <Character>stack = new Stack<Character>(); public void useStack(String s){ for(int i=0;i<s.length();i++){ char c=s.charAt(i)...

2018-04-26 14:58:37 273

原创 创建一个空的linkedlist通过使用ListIterator。将若干个Integer插入到这个List中,插入时,总是插入到List中间

ListIterator里面的add()方法刚好能够实现这个功能。下面开始介绍add()方法(在这里我直接引用goodbaby728的博客,如有侵权,联系我后立即删除)最终输出结果为ADEBC这题的解决代码如下:package p411;import java.util.LinkedList;import java.util.ListIterator;public class Middl...

2018-04-19 20:48:50 906

原创 List,collection,arraylist,linkedlist,iterator,listIterator之间的相互关系

List 继承Collection 。ArrayList,LinkedList 都是List的实现类。Iterator和ListItertor都是对容器进行操作。其中ListItertor是Iterator的子类具体关系如下:其中ArrayList在做随机访问时比LinkedList更出色,在List中插入和移除要逊色一些,LinkedList则反之。...

2018-04-19 15:37:18 735

原创 创建并组装一个List,然后再创建第二个具有相同尺寸的List,将第一个List列表反序插入第二个列表中

基本思路:用listIterator(n)指向列表索引为n元素的特性,将ListIterator指向list1的末尾,依次加入到list2中。即反向读取list1,将读取的每一个元素顺序插入list2.package p409;import java.util.ArrayList;import java.util.List;import java.util.ListIterator;p...

2018-04-19 15:10:01 768 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除