这是我第一次写博客,刚开始学习ios的时候我自己学了一个月基础就开始搜索各种游戏教程我发现大多数都
是很基础,很简单的游戏,我跟着教程学到了很多东西,后来我想找一个魔塔开发教程,可是怎么搜都搜不到,
后来我只能自己制作了,这里我写成教程供大家参考、学习。
这款游戏是用cocos2d制作的,cocos2d-iphone的安装教程 http://www.himigame.com/iphone-cocos2d/415.htmlhimi的博客连接地址
我们制作这款游戏首先要学会使用Titled 地图编辑器,我在这里就不在详细讲解如何使用地图编辑器了,himi
和子龙山人的博客中都有教程,有兴趣的童鞋可以去看看。
我们的地图制作完成后的截图如下:
我们的游戏地图有8个图层截图如下
heroPoint:英雄楼层传送点,door:门 ,downfloor:向下楼梯 ,upfloor:向上楼梯 ,enemy:敌人 ,
item:物品 ,road:路 ,wall:墙
准备工作就到这里了,下面我们开始新建项目
新建项目名称为:磨塔
如下图所示:
建好项目之后运行一下,运行成功之后把HelloWorldLayer文件删除
然后在建两个文件Menu和Scenemanager如下图所示:
Menu.h文件代码:
#import<Foundation/Foundation.h>
#import"cocos2d.h"
#import"Scenemanager.h"
//菜单
@interface Menu :CCLayer {
}
@end
Menu.m文件代码
#import"Menu.h"
@implementation Menu
-(id) init
{
if((self= [superinit]))
{
CGSize size = [[CCDirector
sharedDirector] winSize];//获取屏幕大小
//背景图
CCTMXTiledMap *tilemap = [CCTMXTiledMaptiledMapWithTMXFile:@"background.tmx"];
tilemap.scale =1.5;
tilemap.anchorPoint =CGPointZero;
[selfaddChild:tilemap];
//设置菜单项样式
CCSprite *mota = [CCSprite
spriteWithFile:@"魔塔.png"];
mota.position =ccp(size.width /2 +15,
size.height -150);
[selfaddChild:mota];
CCSprite *magic = [CCSprite
spriteWithFile:@"magic.png"];
magic.position =ccp(size.width /2, size.height
-280);
[selfaddChild:magic];
//添加菜单项
CCSprite *playsp1 = [CCSprite
spriteWithFile:@"playGame.png"];
CCSprite *playsp2 = [CCSprite
spriteWithFile:@"playGame.png"];
playsp2.position =ccp(-20, -10);
playsp2.scale =1.1;
CCMenuItemSprite *play = [CCMenuItemSpriteitemFromNormalSprite:playsp1selectedSprite:playsp2target:selfselector:@selector(Play)];
CCSprite *introducesp1 = [CCSprite
spriteWithFile:@"gameintroduce.png"];
CCSprite *introducesp2 = [CCSprite
spriteWithFile:@"gameintroduce.png"];
introducesp2.position =ccp(-20, -10);
introducesp2.scale =1.1;
CCMenuItemSprite *introduce = [CCMenuItemSpriteitemFromNormalSprite:introducesp1selectedSprite:introducesp2target:selfselector:@selector(Pntroduce)];
CCSprite *exitsp1 = [CCSprite
spriteWithFile:@"exitGame.png"];
CCSprite *exitsp2 = [CCSprite
spriteWithFile:@"exitGame.png"];
exitsp2.position =ccp(-20, -10);
exitsp2.scale =1.1;
CCMenuItemSprite *exit = [CCMenuItemSpriteitemFromNormalSprite:exitsp1selectedSprite:exitsp2target:selfselector:@selector(Exit)];
CCMenu *menu = [CCMenu
menuWithItems:play,introduce,exit, nil];
//
[menualignItemsVertically];
[selfaddChild:menu];
play.position =ccp(0,0);
introduce.position =ccp(0, -100);
exit.position =ccp(0, -210);
}
returnself;
}
-(void) Play
{
[ScenemanagergoPlay];
}
-(void)Pntroduce
{
}
-(void) Exit
{
[[CCDirectorsharedDirector]end];
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
exit(0);
#endif
}
@end
Scenemanager.h 文件代码
#import<Foundation/Foundation.h>
#import"cocos2d.h"
//场景管理器
@interface Scenemanager :CCLayer
{
CCScene *scene;
}
//切换场景
+(void) goMenu;
+(void) goPlay;
@end
Scenemanager.m 文件代码
#import"Scenemanager.h"
#import"Menu.h"
//定义私有的类方法
@interfaceScenemanager()
+(void) go:(CCLayer*) layer;
+(CCScene*) wray:(CCLayer*) layer;
@end
@implementation Scenemanager
//进入菜单
+(void) goMenu
{
CCLayer *layer = [Menunode];
[Scenemanagergo:layer];
}
//开始游戏
+(void) goPlay
{
}
//切换场景
+(void) go:(CCLayer*) layer
{
CCDirector *director = [CCDirectorsharedDirector];
CCScene *newScene = [Scenemanagerwray:layer];
if ([directorrunningScene])
{
[director
replaceScene:newScene];
}else
{
[director
runWithScene:newScene];
}
}
//初始化场景
+(CCScene*) wray:(CCLayer *)layer
{
CCScene *newScene = [CCScenenode];
[newScene
addChild:layer];
return newScene;
}
@end
接下来找到AppDelegate.m文件
找到代码修改成
找到代码修改成
完成之后运行一下就会出现开始菜单了:
运行之后你会发现点击开始游戏没有反应,那就对了,还没有添加响应事件呢。
下一篇我们在开始正式的开始游戏部分教程。
下一篇连接
分享到:
相关推荐
《cocos2d-iphone之魔塔20层第五部分》是关于使用cocos2d-iphone框架开发经典游戏——魔塔的一个教程章节。在这个部分,我们将深入探讨如何利用cocos2d-iphone的特性来实现魔塔游戏的第20层的逻辑和交互。 首先,...
《cocos2d-iphone之魔塔20层第十部分》是针对移动平台游戏开发的一份教程,主要讲解如何利用cocos2d-iphone框架来实现一款经典的魔塔游戏。cocos2d-iphone是一个强大的2D游戏开发框架,它基于Objective-C语言,为iOS...
在本教程中,我们将深入探讨如何使用Cocos2d-iPhone框架来开发一款名为“魔塔20层”的游戏,特别是在项目的第八部分。Cocos2d-iPhone是一款强大的2D游戏开发框架,专为iOS平台设计,它提供了一系列的游戏开发工具和...
《cocos2d-iphone之魔塔20层第四部分》是针对移动平台游戏开发的一份教程,主要基于cocos2d-iphone框架。cocos2d-iphone是一款开源的游戏开发框架,它允许开发者使用Objective-C语言来创建2D游戏、演示和其他图形/...
《cocos2d-iphone之魔塔20层第二部分》是针对移动平台游戏开发的一份教程,主要基于cocos2d-iphone框架,聚焦于创建一个20层的魔塔游戏。cocos2d-iphone是Cocos2D游戏引擎的iOS版本,它为开发者提供了丰富的图形、...
《cocos2d-iphone之魔塔20层第三部分》是针对移动平台,特别是iPhone设备上使用cocos2d游戏引擎开发的一款经典游戏——魔塔的教程。在这个教程中,我们将深入探讨如何利用cocos2d-iphone框架构建一个具有20层关卡的...
《cocos2d-iphone之魔塔20层第九部分》是针对iOS平台的游戏开发教程,专注于使用cocos2d-iPhone框架制作的一款经典游戏——魔塔的开发过程。cocos2d-iPhone是一个强大的2D游戏开发框架,它基于C++和Objective-C,为...
在本教程中,我们将深入探讨如何使用Cocos2d-iPhone框架开发一款名为“魔塔20层”的游戏。Cocos2d-iPhone是一个广泛应用于iOS平台的2D游戏开发库,它提供了一系列强大的功能,如图形渲染、动画处理、物理引擎支持...
《cocos2d-iphone2.0之魔塔20层》是一款基于Cocos2D-iPhone 2.0框架开发的20层魔塔游戏。Cocos2D-iPhone是一个开源的游戏开发库,它是Cocos2D项目的一个分支,专为iOS平台设计,提供了丰富的2D图形渲染和游戏开发...
《cocos2d-iphone 游戏码源 魔塔20层》是一个基于Cocos2D-iPhone的游戏开发项目,旨在实现一款名为“魔塔20层”的经典策略角色扮演游戏。Cocos2D-iPhone是Cocos2D的一个分支,是一个用于创建2D游戏、演示和其他图形...
【魔塔(mota)】可能是指一款使用cocos2d-x框架开发的游戏项目,或者是一个特定的开发示例。魔塔通常是一种策略类的像素风游戏,玩家需要通过规划行动来挑战各种楼层,击败敌人并收集资源。 在【cocos2d-x】与...
1. C++基础:cocos2d-x主要使用C++编写,因此理解C++语言的基本语法和面向对象编程是非常必要的。 2. cocos2d-x API:学习如何使用cocos2d-x提供的类和方法,例如`Layer`、`Sprite`、`Scene`、`Director`等,以及...
Cocos2d-x是一个基于C++的2D游戏引擎,它源于cocos2d-iphone,并扩展到支持Android、iOS、Windows等多个平台。它提供了一套完整的2D图形渲染、动画、物理引擎、音频处理、资源管理等功能,使得开发者能够快速构建高...