<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Cineze的博客]]></title><description><![CDATA[写代码写累的时候想想自己的目标。]]></description><link>https://blog.youkuaiyun.com/Cineze</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Cineze]]></copyright><item><title><![CDATA[程序员遇到 Bug 时的 30 个反应，你是哪一种？]]></title><link>https://blog.youkuaiyun.com/Cineze/article/details/52861209</link><guid>https://blog.youkuaiyun.com/Cineze/article/details/52861209</guid><author>Cineze</author><pubDate>Wed, 19 Oct 2016 17:04:18 +0800</pubDate><description><![CDATA[开发应用程序是一个非常有压力的工作。没有人是完美的，因此在这个行业中，代码中出现bug是相当普遍的现象。面对bug，一些程序员会生气，会沮丧，会心烦意乱，甚至会灰心丧气，而另一些程序员会依然保持冷静沉着。因此，如何处理修复bug的过程也值得我们细细琢磨。

我想分享一些程序员修复他们的源代码时所经历的想法。这是事情变得紧张时所触发的轻松幽默。通常说来，应用程序终将可以工作，然后你也可以进入到下]]></description><category></category></item><item><title><![CDATA[对于基本的捕鱼游戏设计思路（六）——碰撞检测]]></title><link>https://blog.youkuaiyun.com/Cineze/article/details/52704351</link><guid>https://blog.youkuaiyun.com/Cineze/article/details/52704351</guid><author>Cineze</author><pubDate>Thu, 29 Sep 2016 19:04:05 +0800</pubDate><description><![CDATA[差不多写完今天这个博客，这个捕鱼游戏就完成了吧，也不能说做得很好，因为我博客里写的也很简单，完全根据博客来的话只能写出一个简单的游戏轮廓，话不多说，直接进入主题吧，也就是今天讲的炮弹和鱼的碰撞。
可以说是很关键的部分，对这个游戏分析吧，首先炮弹有它的类型，比如1号炮，2号炮......鱼也有它的类型，比如小黄鱼，乌龟，鲸鱼......
然后再分析，当鱼和炮弹碰撞上的时候，鱼会生成一个死亡动画然]]></description><category></category></item><item><title><![CDATA[对于基本的捕鱼游戏设计思路（五）——鱼]]></title><link>https://blog.youkuaiyun.com/Cineze/article/details/52692961</link><guid>https://blog.youkuaiyun.com/Cineze/article/details/52692961</guid><author>Cineze</author><pubDate>Wed, 28 Sep 2016 19:17:08 +0800</pubDate><description><![CDATA[今天讲捕鱼游戏里鱼的部分，也是比较关键的一部分。
一步一步来，先分析游戏，首先鱼是从屏幕外生成，然后它有个移动的动作，而且分为不同的类型。
然后就可以进入代码部分，首先设置一个计时器，控制时间生成鱼，而鱼分种类，所以就用到随机函数，随机输出一个值，传入switch语句，从而生成不同的鱼。
void GameScene::xiaoyuupdate(float dt){
	Size visibl]]></description><category></category></item><item><title><![CDATA[对于基本的捕鱼游戏设计思路（四）——序列帧动画]]></title><link>https://blog.youkuaiyun.com/Cineze/article/details/52684125</link><guid>https://blog.youkuaiyun.com/Cineze/article/details/52684125</guid><author>Cineze</author><pubDate>Tue, 27 Sep 2016 20:00:49 +0800</pubDate><description><![CDATA[今天，我带领大家学习一下Cocos2d-x 2.0的序列帧动画。在Cocos2d-x中，提供了相应的一些类和方法，可以方便的生成序列帧动画，这样我们就可以制做各种人物动作以及动画效果。这就是鱼在水里游动的基础动画。
序列帧动画主要有几个类：

    CCSpriteFrame:精灵帧信息，序列帧动画是依靠多个精灵帧信息来显示相应的纹理图像，一个精灵帧信息包包含了所使用的纹理，对应纹理块的位]]></description><category></category></item><item><title><![CDATA[对于基本的捕鱼游戏设计思路（三）——炮弹]]></title><link>https://blog.youkuaiyun.com/Cineze/article/details/52670838</link><guid>https://blog.youkuaiyun.com/Cineze/article/details/52670838</guid><author>Cineze</author><pubDate>Mon, 26 Sep 2016 17:23:03 +0800</pubDate><description><![CDATA[双休的时候休息了两天，玩玩游戏看看电影，也没带电脑所以搞得打包游戏都得今天才弄，然后选择继续写捕鱼游戏之炮弹的生成。
分析炮弹对象，首先炮弹肯定是有它的类型，然后根据点击的坐标发射，每点击一次发射一颗炮弹。它有着自己的动作属性，例如速度和方向，还有金币不足时不允许发射炮弹。
void GameScene::onTouchEnded(Touch* touch, Event* event){

	]]></description><category></category></item><item><title><![CDATA[对于基本的捕鱼游戏设计思路（二）——炮台]]></title><link>https://blog.youkuaiyun.com/Cineze/article/details/52638847</link><guid>https://blog.youkuaiyun.com/Cineze/article/details/52638847</guid><author>Cineze</author><pubDate>Fri, 23 Sep 2016 15:51:04 +0800</pubDate><description><![CDATA[今天就是接着昨天的内容往下更新，捕鱼的一个关键就是炮台，今天就讲炮台和炮台切换的实现逻辑。
首先分析设计思路，炮台是添加在游戏界面的，当主界面切换到游戏界面的时候就会显示一个初始的炮台，而炮弹有着自己多个类型。玩过捕鱼游戏的人应该知道炮台通过两个按钮去实现炮台的循环切换。
先讲炮台吧：
	//增加炮台等级的按钮
	auto right = MenuItemImage::create("+.p]]></description><category></category></item><item><title><![CDATA[对于基本的捕鱼游戏设计思路（一）——场景]]></title><link>https://blog.youkuaiyun.com/Cineze/article/details/52626013</link><guid>https://blog.youkuaiyun.com/Cineze/article/details/52626013</guid><author>Cineze</author><pubDate>Thu, 22 Sep 2016 19:19:39 +0800</pubDate><description><![CDATA[以基本的捕鱼游戏为例，功能做得比较简单，因为我是个新人，刚学完C++不久，后面做的也不是很好，在高级工程师唐哥指导下还是完成了游戏。
首先创建两个场景，第一个设置为主界面，包含背景，开始游戏和退出的按钮。后一个设置为游戏界面，包含背景，炮台，切换炮台等级按钮，返回按钮。其实后面鱼类的游动，捕鱼网的动画以及子弹都是在游戏界面里面设计。在这里先不讲，只讲场景吧。
添加背景图片：
	auto ba]]></description><category></category></item><item><title><![CDATA[两个炮台切换的笔记（局限性）]]></title><link>https://blog.youkuaiyun.com/Cineze/article/details/52605095</link><guid>https://blog.youkuaiyun.com/Cineze/article/details/52605095</guid><author>Cineze</author><pubDate>Wed, 21 Sep 2016 10:19:58 +0800</pubDate><description><![CDATA[if (battery2 == NULL&&battery1 != NULL&&str == "right"){    //增加炮台等级
		//this->addBattery(sss);
		battery2 = Sprite::create("paotai2.png");
		battery2->setPosition(Vec2(visibleSize.width / 2 + 90, vis]]></description><category></category></item><item><title><![CDATA[Js写的捕鱼达人游戏源码笔记（不完善）]]></title><link>https://blog.youkuaiyun.com/Cineze/article/details/52599300</link><guid>https://blog.youkuaiyun.com/Cineze/article/details/52599300</guid><author>Cineze</author><pubDate>Tue, 20 Sep 2016 19:50:15 +0800</pubDate><description><![CDATA[背景：cc.Class({
    extends: cc.Component,

    properties: {
       //左边‘-’按钮
       leftBtn:cc.Node,
       //右边‘+’按钮
       rightBtn:cc.Node,
       //背景图像
       BackGround:cc.Node,
       //炮台节点
  ]]></description><category></category></item><item><title><![CDATA[创建序列帧动画特效]]></title><link>https://blog.youkuaiyun.com/Cineze/article/details/52516112</link><guid>https://blog.youkuaiyun.com/Cineze/article/details/52516112</guid><author>Cineze</author><pubDate>Mon, 12 Sep 2016 19:02:34 +0800</pubDate><description><![CDATA[首先从官方网站或者其他地方下载TexturePackerGUI到电脑上，然后利用这个软件制作plist文件，将它保存到resource文件夹下，然后创建。

代码如下：
void Plane2::boom(Sprite* i){
	SpriteFrameCache *frameCache = SpriteFrameCache::getInstance();
	frameCache->addS]]></description><category></category></item><item><title><![CDATA[点击事件与屏幕溢出判断]]></title><link>https://blog.youkuaiyun.com/Cineze/article/details/52462202</link><guid>https://blog.youkuaiyun.com/Cineze/article/details/52462202</guid><author>Cineze</author><pubDate>Wed, 07 Sep 2016 18:47:15 +0800</pubDate><description><![CDATA[首先创建侦听事件：
	auto listen = EventListenerTouchOneByOne::create();
	listen->onTouchBegan = CC_CALLBACK_2(Plane1::onTouchBegan, this);
	listen->onTouchMoved = CC_CALLBACK_2(Plane1::onTouchMoved, this);
	l]]></description><category></category></item><item><title><![CDATA[代码实现屏幕滚动！]]></title><link>https://blog.youkuaiyun.com/Cineze/article/details/52452511</link><guid>https://blog.youkuaiyun.com/Cineze/article/details/52452511</guid><author>Cineze</author><pubDate>Tue, 06 Sep 2016 18:38:17 +0800</pubDate><description><![CDATA[首先在场景类里获取到两个连续滚动起来无痕迹的图片，放在resource文件夹下，然后代码获取到文件：	
	Size visibleSize = Director::getInstance()->getVisibleSize();    //设置主场景的规格大小
	Vec2 origin = Director::getInstance()->getVisibleOrigin();      //设置]]></description><category></category></item><item><title><![CDATA[Cocos游戏场景切换（C++）]]></title><link>https://blog.youkuaiyun.com/Cineze/article/details/52442730</link><guid>https://blog.youkuaiyun.com/Cineze/article/details/52442730</guid><author>Cineze</author><pubDate>Mon, 05 Sep 2016 19:01:49 +0800</pubDate><description><![CDATA[这里是主场景的界面的C++代码：#include "HelloWorldScene.h"
#include"GameScene.h"
USING_NS_CC;
using namespace std;
Scene* HelloWorld::createScene(){
    auto scene = Scene::create();
    auto layer = HelloWorld::cr]]></description><category></category></item><item><title><![CDATA[基础的很简单的学生管理系统！！]]></title><link>https://blog.youkuaiyun.com/Cineze/article/details/52316486</link><guid>https://blog.youkuaiyun.com/Cineze/article/details/52316486</guid><author>Cineze</author><pubDate>Thu, 25 Aug 2016 17:18:34 +0800</pubDate><description><![CDATA[这是一个关于学生管理系统的C++编程，创建类的4个对象，可以自行增加，代码不难，简单易懂。]]></description><category></category></item><item><title><![CDATA[动态分配内存]]></title><link>https://blog.youkuaiyun.com/Cineze/article/details/52291919</link><guid>https://blog.youkuaiyun.com/Cineze/article/details/52291919</guid><author>Cineze</author><pubDate>Tue, 23 Aug 2016 16:26:57 +0800</pubDate><description><![CDATA[☆动态分配内存


所谓动态内存分配就是指在程序执行的过程中动态地分配或者回收存储空间的分配内存的方法。动态内存分配不象数组等静态内存分配方法那样需要预先分配存储空间，而是由系统根据程序的需要即时分配，且分配的大小就是程序要求的大小。


C/C++定义了4个内存区间:代码区，全局变量与静态变量区，局部变量区即栈区，动态存储区，即堆区或自由存储区。

堆的概念:通常定义变量(或对象]]></description><category></category></item><item><title><![CDATA[多态与虚函数，纯虚函数的概念]]></title><link>https://blog.youkuaiyun.com/Cineze/article/details/52276148</link><guid>https://blog.youkuaiyun.com/Cineze/article/details/52276148</guid><author>Cineze</author><pubDate>Mon, 22 Aug 2016 14:36:16 +0800</pubDate><description><![CDATA[首先，在了解什么是多态之前，要了解什么是虚函数，虚函数对于多态具有决定性的作用，有虚函数才能构成多态。怎么样创建一个含有虚函数的类呢，其实就是函数类型前面加上关键字virtual，借助虚函数，基类指针既可以使用基类的成员函数，也可以使用派生类的成员函数，它有多种形态，或多种表现方式，这就是多态。
多态是面向对象的主要特征之一。在C++中，虚函数的唯一用处就是构成多态。
C++提供多态的目的是：]]></description><category></category></item><item><title><![CDATA[构造函数和析构函数]]></title><link>https://blog.youkuaiyun.com/Cineze/article/details/52232973</link><guid>https://blog.youkuaiyun.com/Cineze/article/details/52232973</guid><author>Cineze</author><pubDate>Wed, 17 Aug 2016 17:57:30 +0800</pubDate><description><![CDATA[1.构造函数
①构造函数是一种特殊的成员函数，在C++的类中，它的名字和类名相同，没有返回值，不需要用户调用（用户也不能调用），而是在创建对象时自动执行。构造函数的作用是在创建对象时进行初始化工作，最常见的就是对成员变量赋值。（c++类中如果不加标识符public，则整个类默认私有，而c语言结构体默认公有）
举个例子

#include 
using namespace std;

cla]]></description><category></category></item><item><title><![CDATA[c++对象模拟游戏数据]]></title><link>https://blog.youkuaiyun.com/Cineze/article/details/52224215</link><guid>https://blog.youkuaiyun.com/Cineze/article/details/52224215</guid><author>Cineze</author><pubDate>Tue, 16 Aug 2016 19:28:50 +0800</pubDate><description><![CDATA[C中的结构体存在缺点：1.main函数中的任意赋值语句都可以访问结构体中的成员，但在现实生活中并不是什么数据都可以被随意访问的，因此C语言中的结构体的数据是不安全的；2.结构体中的数据和对该数据的操作是分离的，并不是一个被封装起来的整体，因此使程序难以重用，影响了软件生产效率；于是C++中引入了类的概念。

　　C++中类的一般格式为：

class Kid

{

　　priva]]></description><category></category></item><item><title><![CDATA[利用结构体设计游戏背包属性的思路]]></title><link>https://blog.youkuaiyun.com/Cineze/article/details/52213489</link><guid>https://blog.youkuaiyun.com/Cineze/article/details/52213489</guid><author>Cineze</author><pubDate>Mon, 15 Aug 2016 19:08:37 +0800</pubDate><description><![CDATA[①以角色扮演类为例子分析：
1.首先对背包属性分析：武器栏，防具栏，道具栏等等（不同的游戏有不同的背包栏，可能有一些游戏还会有宝石，坐骑等）。
2.然后武器栏又分为不同的属性框，一般分白，蓝，紫，橙。防具栏也是如此。按照不同的等级划分，先从外观看出颜色，依据品质的不同决定它的属性比较，一般品质白
3.其次每一个不同的武器，防具，道具都有自己的一个提示框。例如武器有它自己的攻击力，暴击率，或者]]></description><category></category></item><item><title><![CDATA[结构体，共用体以及typedef的总结]]></title><link>https://blog.youkuaiyun.com/Cineze/article/details/52213244</link><guid>https://blog.youkuaiyun.com/Cineze/article/details/52213244</guid><author>Cineze</author><pubDate>Mon, 15 Aug 2016 18:04:44 +0800</pubDate><description><![CDATA[1.结构体：
前面的教程中我们讲解了数组，它是一组具有相同类型的数据的集合。但在实际的编程过程中，我们往往还需要一组类型不同的数据，例如对于学生信息登记表，姓名为字符串，学号为整数，年龄为整数，所在的学习小组为字符，成绩为小数，因为数据类型不同，显然不能用一个数组来存放。

在C语言中，可以使用结构体来存放一组不同类型的数据。结构体的定义形式为：

struct 结构体名{
    结]]></description><category></category></item></channel></rss>