Cocos2d-X精灵教程:第一部分

著作权声明:本文的Cocos2d版本子龙山人 翻译,欢迎转载分享。请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢!首发于泰然论坛


我们今天将学习哪些内容呢?我们将学习有关 “CCSprite”, “CCSpriteSheets”,“CCSpriteFrame”,以及“Texture2d”“CCTextureCache”的一切!在这篇教程的最后,我们将有一条龙在一个简单的背景地形上面飞,路径由用户的手指滑动touch决定。很酷呢?

因此,在这个教程中,我们还是学习一些基础知识--不过没有菜单啦,我们主要关心的是精灵(sprite)。先看一看整个教程最后的产品是什么样子吧!如下图所示:

是否有点激动了呢?我敢打赌你现在很激动。。。不管怎么说,直接切入主题吧。。。

首先,我们使用上个教程的 SceneManager.h/.cpp,这里我们只创建“PlayLayer”类。


我们首先要做的就是把“dragon.png”图片拖到 Resources文件夹下去,它是一张750×560的图片,我把它缩小显示在下图。你可以从这里下载完整大小的图片资源 

下载图片


那里面还有一张地形背景图,它的大小为480×320,我也把它缩小显示出来了:

像之前的菜单教程一样,把这里图片添加进resources分组下面去



我们的工程将包含两个类(delegate 类除外): SceneManagerPlayLayer。我们已经知道SceneManger 是如何工作的了,这里就不再啰嗦了。(可以参考《cocos2d 菜单教程:第一部分》),但是,下面是我移除掉一些菜单选项后的SceneManager 类。

SceneManager.h

#ifndef sprite_Test_SceneManager_h
#define sprite_Test_SceneManager_h

#include "PlayLayer.h"
#include "cocos2d.h"
using namespace cocos2d;

class SceneManager : public CCLayer
{
public:
    static void goPlay();
    static CCScene* wrap(CCLayer* layer);
    static void go(CCLayer* layer);
    
};


#endif

SceneManager.cpp

#include "cocos2d.h"
#include "SceneManager.h"
#include "PlayLayer.h"

void SceneManager::goPlay()
{
    CCLayer* layer=PlayLayer::node();
    SceneManager::go(layer);
}

void SceneManager::go(CCLayer* layer)
{
    CCDirector* director=CCDirector::sharedDirector();
    
    CCScene* newScene=SceneManager::wrap(layer);
    
    if(!director->init())
    {
        director->replaceScene(newScene);
    }   
    {
        director->runWithScene(newScene);
    }
}

CCScene* SceneManager::wrap(CCLayer* layer)
{
    CCScene* newScene=CCScene::node();
    newScene->addChild(layer);
    return newScene;
}

一定要记得,把 AppDelegate类里面的 CCDirector replaceScene调用,改成 “SceneManager::goPlay();”调用

接下来,我们开始修改 PlayLayer.h中的内容



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值