1: 写游戏步骤:
A: 分离 场景(scene) 层(Layer)
B: 分离游戏对象,
例如:GameScene功能已经相对单一, 但GameLayer内容驳杂,所以下面继续拆分GameLayer类,目前游戏主界面包含3个对象,即:地图 勇士 手柄按钮. 因此可以讲GameLayer中的方法按3大类进行划分
C: 通过重构,各个类的分工明确,当然还有一些优化的工作可以做
具体部分:
1 : 接下来,开始分离勇士类,命名为Hero, Hero类中应包含用于显示精灵, 各种属性(攻击,生命值和防御)和勇士的"移动方法”
首先,请大家思考个问题:Hero类是否应该继承与精灵CCSprite?。 。。但如果看的稍微远点,就会发现这个方案缺乏灵活性。。。CCNode. 这样针对Hero主体的缩放,移动,执行动作,显示隐藏等操作都会影响Hero内部的所有显示节点
2: 前面一节中我们抽出了Hero类。仅剩余下面几个部分。。。。。。
大家应该看出,后面2项也可以从游戏中分离出来,因为他们并不属于游戏内容相关的对象,可以把他们归结为控制层面的一部分。因此最好创建个ControlLayer来统一管理相关的按钮。(不明白, 不是也属于UI部分/消除的GameLay) -------------------------------------------------------------------
1: 代码重构: 对老的代码,重新整理,划分
2: 一般游戏中分数,时间,遥感器,小地图等元素。对于这些元素最好是单独放到一个层中
例如: 消除中的 倒计时 得分
3:
角色扮演游戏(RPG,英文全称Role Play Games)是一种游戏,在游戏中,玩家扮演虚拟世界中的一个或者几个特定角色在特定场景下进行游戏。
角色根据不同的游戏情节和统计数据(例如力量、灵敏度、智力、魔法等)具有不同的能力
————————————————— 基础———不会的—
1:我居然: 创建星星(StarSprite.lua)在star内部创建。 老师的创建子弹
在StarSprite.lua中 local _bg = cc.Sprite:create("img/green.png”);
2: getIndexX/getIndxY() 分不清写在类内部,还是放在创建类对象的部分
如:StarArry StarSprite类
个人理解:除了创建类对象外,所有与本类相关内容放在类内部
3: 为啥 GameLayer WinLayer创建的对象不用设置位置,。 而Matrix中创建就要指定位置。
个人理解: 依据实际需要,如果位置事先确定,就直接在类内部设置Ok .or放在外面(StarArry中for循环创建星星)
----------------------------------------------------------------------------
tou: 你先把基础的弄好再说, 魔兽世界
1:C语言 对象调用。 指针用-> (一个obj 一个地址 — 老王)
例子:
Star * _star = new Star();
if(_star && _star->initWithFile(“c字符串会自动化为C++"))
2: 到现在还不清楚: 一个Node的位置,是锚点相对于左下角
auto _sp = Sprite::create("share.png”); — 出现在左下角
this->addChild(_sp);
_sp->setScale(3.0f);
// _sp->setPosition(Point(visibleSize.width/2, visibleSize.height/2));
auto _layer = LayerColor::create(Color4B::RED, 300, 300);
this->addChild(_layer); —— 层依旧是的
1: 代码重构: 对老的代码,重新整理,划分
2: 一般游戏中分数,时间,遥感器,小地图等元素。对于这些元素最好是单独放到一个层中
例如: 消除中的 倒计时 得分
3:
角色扮演游戏(RPG,英文全称Role Play Games)是一种游戏,在游戏中,玩家扮演虚拟世界中的一个或者几个特定角色在特定场景下进行游戏。
角色根据不同的游戏情节和统计数据(例如力量、灵敏度、智力、魔法等)具有不同的能力
————————————————— 基础———不会的—
1:我居然: 创建星星(StarSprite.lua)在star内部创建。 老师的创建子弹
在StarSprite.lua中 local _bg = cc.Sprite:create("img/green.png”);
2: getIndexX/getIndxY() 分不清写在类内部,还是放在创建类对象的部分
如:StarArry StarSprite类
个人理解:除了创建类对象外,所有与本类相关内容放在类内部
3: 为啥 GameLayer WinLayer创建的对象不用设置位置,。 而Matrix中创建就要指定位置。
个人理解: 依据实际需要,如果位置事先确定,就直接在类内部设置Ok .or放在外面(StarArry中for循环创建星星)