展会信息港展会大全

大海教你学手游2015CocosLua第一季_01环境搭建与场景封装,2015cocoslua_01
来源:互联网   发布日期:2015-09-28 13:53:43   浏览:1706次  

导读: 大海教你学手游2015CocosLua第一季_01环境搭建与场景封装,2015cocoslua_01 课程地址:http://ke.qq.com/cgi-bin/courseDetail?co...

大海教你学手游2015CocosLua第一季_01环境搭建与场景封装,2015cocoslua_01

课程地址:http://ke.qq.com/cgi-bin/courseDetail?course_id=78017

cocos2d-x直播课交流群: 461039382(发布每节课视频和资料)

网盘资料下载:http://pan.baidu.com/s/1dDvZvAp ( 密码要进群才有)

Cocos是一款跨平台移动游戏引擎,实际上是把不同平台的图形处理、交互事件通过

C++实现了统一Api,见下图:

中间蓝色的部分Cocos2d-x就是通过C++调用ios、Android等平台的图形库OpenGL,同时平台的用户交互事件传递给Cocos2d-x的导演类,这样开发者就可以在Cocos2d-x基础上使用C++的Api开发跨平台的手机游戏和应用了。

当然开发者可以选择三种语言

1.使用C++

a)语法严谨,代码高效

b)方便定制对于底层系统平台的功能调用(C++可以调OC,C++可以调Java)

c)跟别人说你会C++岂不是很牛吗!

2.使用Lua

a)代码简单、弱语言

b)灵活的代码结构

c)高效开发

d)可以动态更新(这个最吊,不用重装App就能更新)

3.使用JavaScript

a)可以让原来做网页的开发者上手

b)可以将游戏发布到H5浏览器

好吧!我们从Lua学起,先入门,再精通,从Lua入门是不错的选择,从C++开始对于开发者来讲有一定难度。

第一课要解决以下问题:

1.要解决如何搭建开发环境

a)首先安装jdk1.7

b)再安装Python2.7 (不能安装高版本)

c)安装CocosCode IDE(1.2 ,2.0版居然没有提示,后续再说吧)

d)安装Cocos2d-x3.2源码(后面会讲cocos2d-x3.6和Quick,如果上来就是3.6 MVC估计用户都会蒙圈,不知道引擎团队怎么想的,我认为这个MVC影响了用户对CocosApi的统一理解,应该作为可选包,不应该作为默认模板)

e)配置CocosCodeIDE

相关资源如下图,可以到网盘下载:

2.Cocos的核心概念

a)导演 Director(控制所有界面的显示和切换,其实还有事件分发、垃圾处理等)

b)场景Scene(就是游戏的一个界面,每个界面都可以有很多层)

c)图层Node(文字、图片、菜单、动画等在场景中的每一个绘图元素都是一个图层)

d)动作Action(是对Node的变换的封装)

如下图:

做游戏就是定义多个场景画面,然后通过Director实现画面的切换。

3.如何理解第一个工程的文件结构

a)Res 文件夹保存游戏中的所有资源如图片、声音、动画、关卡文件等

b)Src 是源码文件夹保存游戏开发的lua源代码

Main.lua 是入口文件,主要是定义了一个场景然后运行这个场景,代码如下:

require"Cocos2d"--引用cocos lua函数库

-- cclog

localcclog =

function(...)

print(string.format(...))

end

-- for CCLuaEngine traceback

function

__G__TRACKBACK__(msg)

cclog("----------------------------------------")

cclog("LUA ERROR:" ..

tostring(msg) ..

"\n")

cclog(debug.traceback())

cclog("----------------------------------------")

returnmsg

end

localfunctionmain()

--入口函数

collectgarbage("collect")

-- avoidmemory leak

collectgarbage("setpause",

100)

collectgarbage("setstepmul",

5000)

--添加文件搜索路径

cc.FileUtils:getInstance():addSearchPath("src")

cc.FileUtils:getInstance():addSearchPath("res")

--设置屏幕适配

cc.Director:getInstance():getOpenGLView():setDesignResolutionSize(960,

640, 0)

--createscene 1。创建一个场景

localMS=require("MyScene")

localms_scene=MS:create()

--2,显示这个场景

if

cc.Director:getInstance():getRunningScene()then

cc.Director:getInstance():replaceScene(ms_scene)

else

cc.Director:getInstance():runWithScene(ms_scene)

end

end

localstatus,

msg =

xpcall(main,

__G__TRACKBACK__)

ifnotstatusthen

error(msg)

end

4.定义自己的场景

以下是场景类的封装,并在屏幕显示背景和英雄,运行结果如下:

代码如下:

1.--定义第一个场景

2.--定义一个类MyScene

继承cc.Scene

3.localMyScene=class("MyScene",function

()

4.return

cc.Scene:create()

5.end)

6.--创建函数

7.functionMyScene:create()

8.print("MyScene:create")

9.localms=MyScene.new()

10.ms:addChild(ms:init())

11.returnms

12.end

13.--构造函数

14.functionMyScene:ctor()

15.print("MyScene:ctor")

16.--添加成员属性

17.self.winsize=cc.Director:getInstance():getWinSize()

18.end

19.--初始化函数

20.functionMyScene:init()

21.print("MyScene:init")

22.locallayer=cc.Layer:create()

23.--添加背景图片层到场景

24.localsp_bk=cc.Sprite:create("bbg_burning_land.jpg")

25.layer:addChild(sp_bk)

26.sp_bk:setPosition(self.winsize.width/2,self.winsize.height/2)

27.--

添加人物层到场景

28.localsp=cc.Sprite:create("kick07.png")

29.layer:addChild(sp)

30.sp:setAnchorPoint(0,1)

31.sp:setPosition(self.winsize.width/2,self.winsize.height/2)

32.sp:setRotation(40)

33.sp:setLocalZOrder(3)

--设置当前图层的显示顺序

34.--让人物运行动作

35.--sp:runAction(cc.RotateBy:create(5,720))

36.--添加文字层

37.localtxt01=cc.Label:createWithSystemFont("9秒课堂","",40)

38.layer:addChild(txt01)

39.txt01:setPosition(self.winsize.width/2,self.winsize.height/2+70)

40.--添加人物层

41.localhero01=cc.Sprite:create("hero01.png")

42.hero01:setAnchorPoint(0.5,0.5)

43.hero01:setPosition(480,320)

44.hero01:setLocalZOrder(4)

45.layer:addChild(hero01)

46.hero01:setScale(0.3)--缩放到原有尺寸的30%

47.returnlayer

48.end

49.

50.returnMyScene

版权声明:本文为博主原创文章,未经博主允许不得转载。

http://www.bkjia.com/Androidjc/1028603.htmlwww.bkjia.comtruehttp://www.bkjia.com/Androidjc/1028603.htmlTechArticle大海教你学手游2015CocosLua第一季_01环境搭建与场景封装,2015cocoslua_01 课程地址:http://ke.qq.com/cgi-bin/courseDetail?course_id=78017 cocos2d-x直播课交流...

赞助本站

人工智能实验室

相关热词: android开发 应用开发

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港