bbframework入门之路【二】

【附加信息】

上一篇我们已经介绍了如何搭建bbframework的开发环境,其中我们还讲到了Sublime Text这款编辑器,关于Sublime的用法,我们可以参照http://www.cnblogs.com/wuguanglei/p/4286550.html这篇博文,详细的我们就不再这里阐述了。

【正文】

今天我们一起来看下关于公司常用资源的存放目录和我们项目目录的组成结构,了解这些目录结构,是我们进行高效快速开发的必要条件,虽然不起眼,但也不能忽视。

首先,我们先来看下SVN上面的目录结构。公司SVN是搭建在10.1.1.11这台服务器上的,我们常用的有两个路径,分别是“svn://10.1.1.11/ios_source”(简称:ios_source)和“svn://10.1.1.11/babybus-lua”(简称:Babybus-lua)。ios_source是我们组内存放资源的专门位置,其大致目录如下所示:

其中,对于新手而言,访问比较多的应该是“开发中代码备份”这个文件夹,组内每个人会在这个位置新建自己的文件夹,然后将手上正在开发的代码资源备份至此。除此之外,“内训资料”里面存放的是我们ios组内培训课的一些教程资源。此外,“卡代码辅助开发资源库”里面存放着之前项目的一些粒子、效果代码、可复用控件等,可以帮助我们更快的开发我们的项目。

对于ios_source这个目录,我们暂且了解这些就够了。接下来我们来看下babybus-lua的目录结构,其大致目录如下图所示:

如上,“common”文件夹里面是一些公共的资源,“doc”里面是框架的一些api文档教程之类的,“framework”里面存放的就是我们的bbframework的项目文件了,然后“product”里面是目前公司的产品源码,“software”里面是一些开发工具和其他辅助软件,“toolkit”里面是一些工具教程之类的东西,“video”里面存放的是框架组给公司程序员培训的一些视频教程和文档,最后的“web”暂时为空。

看完babybus-lua的大致目录,接下来我们来讲一下bbframework项目文件的组成目录。在此之前,我们应该把babybus-lua的framework目录底下的“main”文件夹载到本地磁盘上(我是把它放在E:\00_CrrentProject\01_Code里面)。babybus-lua的“framework/bug”是用于框架bug提交的地方,目前没有什么实际用途。babybus-lua的“framework/version”是存放bbframework历史版本的位置,目前宝宝巴士正在使用的是1.3版本,基本处于稳定状态。在写这篇博文的时候,bbframework 2.0版本正在孕育当中,目测在不久的将来就会发布出来供我们使用。而babybus-lua的“framework/main”里面正是我们目前正在使用的1.3版本的项目源文件。

在main文件夹底下有四个子目录,其中“bbframework”正是我们项目的项目文件夹,里面存放着项目所需的代码和资源文件,包括我们的bbframework的框架文件。“bin”底下是一些开发中常用的软件工具(包括我们的模拟器和代码编辑器等)。“doc”里面是框架的一些文档。“quick-cocos2d-x”这个目录里面只有一个“lib”子目录,我们先不讨论。

我们先看下“main/doc”这个目录,里面目前有5个子目录。其中“snap”里面存放的是一些效果文件,有兴趣的可以自己去看下。然后是“samples”目录,里面是bbframework的一些案例Demo,有时间可以看下这些小案例,能让你更加了解bbframework能做哪些事情。“core”文件夹里面包含“bbframework”和“framework”两个子目录,这里面是bbframework的源代码,我们可以在这里看到框架是如何搭建的。“assist”里面存放的是bbframework基于Sublime Text的智能提示插件。“api”里面是框架相关的api文档。

接下来我们来看下“main/bbframework”的目录结构,这是我们存放项目资源和脚本代码的位置。

如上图所示,“res”里面存放的是除代码以外的其它资源(包含图片、音频等等)。“scripts”里面就是我们的脚本文件了。“.DS_Store”这个文件不用管它,直接删除掉就好。“data.sqlite”是数据库文件。“debug.log”是我们在quick-x-player上调试生成的控制台日志信息。“UserDefault.xml”是我们本地化存储的文件。“VERSION”是版本信息文件。

上图是“main/bbframework/script”路径下的目录结构。“app”下存放的就是我们当前项目的源代码。“com”是我们项目中一些可以封装出来共用的一些组件。“lang”里面是一些国际化配置的文件。“plugin”里面存放的是一些插件。“static”这个目录我们先不管。“configure.lua”是项目的配置文件。“game.lua”是游戏的启动文件,也是游戏的入口。“game_init.lua”里面做一些游戏的初始化操作。“init.lua”里面是项目的初始化操作,比如导入框架文件之类的。“machine.lua”文件是配置文件处理类,定义框架配置环境初始刷新及各种参数定义。最后的“main.lua”是整个程序的唯一入口,我们的项目代码就是从这里开始执行的。

所以为了开发方便我们通常会将“main/bbframework/script”和“main/doc/core”这两个目录直接拖拽到Sublime Text中。script是为了项目编码,而core是为了随时能够快速查看框架实现。我们可以通过“Ctrl”+“P”打开代码编辑面板顶部的文本输入框,输入文件名就可以快速查看该文件的内容,所以我们要把Core目录一起引入到Sublime里面,就是为了方便索引到bbframework的框架文件。通过“Ctrl”+“R”我们也可以打开代码编辑面板顶部的文本输入框,在文本“@”后面输入函数名称可帮助我们在当前代码文件索引到指定的函数位置。在输入框里面输入“:”然后接数字,可以定位到当前文件的指定行。通过“Ctrl”+“F”可以打开编辑器底部的文本输入框,输入文本可以在当前代码文件里面查找匹配的字符。

如上图左边红色方框所示,是我们开发的必备文件目录,都要拖拽到Sublime里面,右边的空色方框是代码编辑器的代码缩略图,可以帮助我们更快的定位到当前窗口的代码位置。

由于时间关系我们今天就介绍到这里,下一次我们将继续介绍“main/bbframework/script/app”和“main/bbframework/res”里面的目录结构,并且教大家如何创建一个自己的模块(场景)目录,命名有什么要求之类的。

【脚注】

宝宝巴士-快乐童年!

时间: 2024-12-24 10:43:56

bbframework入门之路【二】的相关文章

bbframework入门之路【六】常用的动作和动画

[正文] 今天我们来介绍下游戏开发中必不可少的东西,那就是动作和动画.bbframework除了支持Cocos2D-X里面提供的动作之外,我们自己也根据实际项目需求往框架里面新增了不少的动作,所以这部分的内容比较多,我们简单的列举几个常用的动作和一些常用的和动作相关的函数,剩下的大家可以自行参考框架的“UAction.lua”文件,UAction里面包含了bbframework提供的所有动作,包括每个动作的案例代码和详细的注释. 话不多说,我们直接进入主题.我们bbframework的动作是通过

bbframework入门之路【三】

[正文] 上一篇我们已经了解了一部分项目开发相关的目录结构,今天我们依然继续为大家介绍我们这套框架的一些访问更为频繁的目录结构.也就是“main/bbframework/res”和“main/bbframework/script/app”底下的目录结构. 话不多说,我们先来看下“main/bbframework/res”(简称:“res”),也就是资源文件夹. 上图就是res文件夹的子目录,其中“ccb”里面是用于CocosBuilder开发方式使用的资源路径,简称为“ccb”.因为现在还没有使

bbframework入门之路【五】触控绑定

[正文] 前面我们介绍了如何在bbframework项目中创建我们自己的模块,也在场景里面添加了精灵节点,但是讲到编程就少不了要说到事件.因为我们是做手机游戏,而现在的手机又普遍都是大屏的智能触控手机,所以我们游戏涉及最多的当属触控操作了.今天我们便来简单介绍下bbframework的触控,帮助我们实现游戏的交互操作. 接着上一次的内容,我们在Layer层上面放置了两个节点,代码如下: ---------------------- -- 结点渲染 ---------------------- -

bbframework入门之路【四】

[正文] 前面我们基本上已经将bbframework开发的必备工作都已经做好了,今天我们就来往我们那乌漆麻黑的场景里面添加点东西,让游戏慢慢的像个游戏.首先我们来看下一个空的Layer(层)所应该有的东西: --[[!-- 场景层类,定义层相关操作方法及逻辑实现. - 定义场景层功能方法. ]] ---------------------- -- 类 ---------------------- local M = classLayerTouch("Main") -----------

bbframework入门之路【一】

[前言] 众所周知,目前手游市场上大部分的游戏都是通过Cocos2D-X这个引擎来开发的.Cocos2D-X简称“-x”是从Cocos2D-iphone衍生而来的,-x是使用C++编程语言搭建的框架,但是会C++的人都知道C++那繁琐的语法总是让程序员(猿)带着那么点淡淡的忧伤.近几年编程开始走向脚本化,于是乎,Cocos2D也出现了不同的版本.有用Lua搭建的Cocos2D-Lua,或者叫做quick-x:也有用Javascript搭建的Cocos2D-Js.然后随着平台的多样化,也出现了以C

bbframework入门之路【八】粒子系统和音效

[正文] 一款游戏除了动作和动画之外,在视觉上最容易提升画面效果的当属粒子系统了.关于粒子系统的详细介绍我们在这里就不在阐述,因为那不是重点,有兴趣的可以自己百度了解粒子系统. bbframework框架提供了“P.newParticle()”函数来播放粒子文件.cocos2D引擎支持的是“.plist”格式的粒子文件,plist文件可以通过专门的粒子编辑器来导出.newParticle()函数有三个参数,第一个是粒子plist文件的位置,我们同样是放在X4或者X2里面.第二个和第三个参数分别是

小猪的Android入门之路 Day 8 part 4

小猪的Android入门之路 Day 8 part 4 Android网络编程浅析--Android网络数据的上传 --转载请注明出处:coder-pig 本节引言: 在part 3中我们已经学习了Android网络数据的下载,难点是多线程断点续传下载; 有下载,当然也有上传啦,本节就来研究下Android中的网络数据的上传! 1.使用GET或者Post方式上传数据给服务器 2.使用开源框架HttpClient上传数据到服务区 3.发送xml数据给服务器 4.通过Http协议上传文件 5.Web

自写网站入门阶段之二:熟练运用各种标签

转学html/css已有3个多月,经过之前编写一个网页的练手后大概熟悉了部分标签的作用,看着做完的页面跟同学给的源页面相差无几的时候心里充满了成就感.但当同学一针见血的指出我css类的各种定义重复.不符语义化.排序混乱及浏览器的不兼容时我才觉得web前端之路任重道远.于是我又问同学要了2个更为复杂的教育类网站,先按自己的想法写一遍,再参照他的代码改进自己的不足,在边学边模仿中逐渐的改良自己的代码,缩减样式表,优化排版等等. 经过半个来月的自写-参照-修改,这两个网站共计24个页面也一并完成了.对

小猪的Android入门之路 Day 6

小猪的Android入门之路 Day 6 Android应用核心:Intent(意图) -----转载请注明出处:coder-pig 本节引言: 通过前面的学习中,我们都知道可以调用startActivity(intent)或者startActivityForResult(intent) 来启动一个新的Activity了,他们的参数都是Intent类型的实例,那么这个Intent是什么东西呢? 有什么用?还有一个问题,相信细心的朋友都发现AndroidManifest.xml的activity标