求3D地图编辑器的原理

tiancaiak 2007-11-14 07:55:45
能说一下具体的步骤吗,有源码更好,谢谢了
...全文
264 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xindongdong 2007-11-19
  • 打赏
  • 举报
回复
这个题目不是一般的空不是一般的大,所以就不能具体了。
一般说来就是地图编辑就是拉地形,摆怪摆逻辑物件静态物件等。参考帝国时代2,魔兽争霸3的编辑器。
拉地形麻,就是用刷子修改地形的高度而已。摆怪嘛,就是在地图上放置物品而已。。。。
tiancaiak 2007-11-19
  • 打赏
  • 举报
回复
网上有没有关于这个的文章啊
tiancaiak 2007-11-18
  • 打赏
  • 举报
回复
自己顶上去
第1章 Cocos2D-X引擎的介绍 1 1.1 何为游戏引擎 1 1.1.1 游戏的核心—引擎 1 1.1.2 引擎的特点 2 1.1.3 知名的引擎介绍 4 1.1.4 引擎的分类 5 1.2 Cocos2D-X引擎的来历 8 1.3 引擎的版本 9 1.4 下载与安装 10 1.5 引擎的组成 13 1.6 技术文档 15 1.7 成功的游戏 17 1.8 Cocos2D-X引擎的体系 18 1.9 Cocos2D-X引擎的版权声明 19 1.10 本章小结 20 第2章 Cocos2D-X引擎的 开发环境 21 2.1 跨平台的开发 21 2.2 建立开发环境 23 2.2.1 PC开发环境 23 2.2.2 Android开发环境 26 2.2.3 iOS开发环境 35 2.3 引擎中的混合编译 38 2.3.1 Java与C++的混合编译 38 2.3.2 Objective-C与C++的混合编译 41 2.4 引擎的启点 42 2.4.1 应用程序入口 43 2.4.2 引擎应用入口 44 2.5 丰富的示例程序 46 2.5.1 TestCpp示例项目 46 2.5.2 脚本示例项目 47 2.5.3 MoonWarriors示例项目 47 2.6 本章小结 48 第3章 引擎的核心——渲染框架 49 3.1 基本框架 50 3.1.1 引擎的位置 50 3.1.2 根源种子 51 3.1.3 子类结构 57 3.2 渲染框架 57 3.2.1 框架结构 58 3.2.2 摄像机类(CCCamera) 59 3.2.3 导演类(CCDirector) 59 3.2.4 场景类(CCScene) 62 3.2.5 图层类(CCLayer) 64 3.2.6 精灵类(CCSprite) 68 3.2.7 精灵集合类(CCSpriteBatchNode) 72 3.2.8 精灵帧缓冲(CCSpriteFrameCache) 74 3.2.9 Zwoptex纹理编辑器 76 3.3 文字与字体 80 3.3.1 TTF类型标签(CCLabelTTF) 81 3.3.2 BMFont标签类(CCLabelBMFont) 84 3.3.3 Atlas标签类(CCLabelAtlas) 87 3.4 菜单按钮 89 3.5 几何绘制DrawPrimitives 94 3.6 CocosBuilder编辑器 95 3.6.1 CocosBuilder使用指南 95 3.6.2 引擎中的应用 97 3.7 本章小结 98 第4章 动作功能 100 4.1 概述 100 4.2 动作基类 101 4.2.1 动作类的继承关系 102 4.2.2 动作基类CCAction的成员函数 102 4.2.3 类CCNode中与动作有关的函数 104 4.3 时间动作 105 4.3.1 及时动作 105 4.3.2 持续动作 109 4.4 组合动作类 116 4.4.1 序列动作类(CCSequence) 116 4.4.2 同步动作类(CCSpawn) 118 4.4.3 重复动作类(CCRepeat & CCRepeatForever) 119 4.5 可变速度类(CCEaseAction) 120 4.5.1 CCEaseIn、CCEaseOut和CCEaseInOut 122 4.5.2 EaseSineIn、EaseSineOut和EaseSineInOut 124 4.5.3 CCEaseBackIn、CCEaseBackOut和CCEaseBackInOut 124 4.5.4 EaseExponentialIn、EaseExponentialOut和EaseExponentialInOut 125 4.5.5 CCEaseBounceIn、CCBounceOut和CCBounceInOut 125 4.5.6 CCEaseElasticIn、CCEaseElasticOut和CCEaseElasticInOut 125 4.6 速度类(CCSpeed) 125 4.7 延迟动作类(CCDelay) 127 4.8 跟随动作类(CCFollow) 128 4.9 扩展动作类 129 4.9.1 概述 129 4.9.2 翻页动作(CCPageTurn3D) 130 4.9.3 波纹动作(CCWaves3D) 130 4.9.4 格子动作类(CCGridAction) 131 4.10 动画动作类 132 4.10.1 精灵帧 133 4.10.2 精灵帧缓冲 134 4.10.3 动画类 135 4.10.4 动画动作 136 4.11 动画编辑器 136 4.11.1 概述 136 4.11.2 CocosBuilder编辑器中的精灵动画 137 4.11.3 SpriteX草莓编辑器 138 4.11.4 MotionWelder动画编辑器 139 4.12 样例程序 141 4.13 本章小结 143 第5章 用户交互 147 5.1 概述 147 5.2 玩家交互信息 149 5.3 触摸操作的处理机制 149 5.4 接收操作 153 5.5 分发机制 154 5.6 处理响应 157 5.7 多点触碰 159 5.8 加速计的响应函数 161 5.9 本章小结 162 第6章 游戏背景 164 6.1 概述 164 6.2 2D游戏背景的类型 164 6.3 砖块地图编辑器 166 6.3.1 地图编辑器概述 167 6.3.2 Tile Map Editor(砖块地图编辑器) 168 6.3.3 制作一张游戏地图 170 6.3.4 编辑器中的属性功能 172 6.4 砖块地图Tile Map 173 6.5 地图数据的格式 175 6.5.1 编辑器导出的文件 175 6.5.2 地图文件分析 176 6.6 砖块地图的实现 178 6.6.1 砖块地图类CCTMXTiledMap 179 6.6.2 地图图层类CCTMXLayer 181 6.6.3 地图物体层CCTMXObjectGroup 183 6.7 示例项目 184 6.8 背景的滚动与角色移动 186 6.9 多层背景滚动效果 188 6.10 本章小结 190 第7章 物理模拟与碰撞检测 192 7.1 概述 192 7.2 游戏中的碰撞检测 193 7.3 碰撞检测的方法 194 7.3.1 平面几何在碰撞检测中的应用 194 7.3.2 物体的包围盒 197 7.3.3 AABB碰撞检测技术 198 7.4 基本物理知识 199 7.5 你好!Box2D! 201 7.5.1 概述 201 7.5.2 物理世界 202 7.5.3 游戏中的两个世界 202 7.6 Box2D的基础知识 203 7.6.1 概述 204 7.6.2 概念定义 204 7.6.3 物理引擎的模块 205 7.7 引 擎 内 核 205 7.7.1 基本配置 206 7.7.2 内存管理机制 207 7.7.3 工厂模式 208 7.7.4 数据单位 208 7.7.5 用户数据 209 7.8 物理世界World 210 7.8.1 创建和摧毁一个世界 210 7.8.2 让世界运转起来 211 7.8.3 探索世界 212 7.8.5 AABB查询 213 7.8.6 光线投射(Ray Casts) 214 7.9 形状Shapes 216 7.9.1 碰撞模块 216 7.9.2 形状Shape的作用 216 7.9.3 圆形(Circle Shapes) 216 7.9.4 多边形(b2PolygonShape) 217 7.10 框架Fixtures 218 7.10.1 动态模块(Dynamics Module) 219 7.10.2 框架(Fixtures) 219 7.10.3 密度(Density) 219 7.10.4 摩擦(Friction) 220 7.10.5 恢复(Restitution) 220 7.10.6 筛选(Filtering) 220 7.10.7 感应器(Sensors) 221 7.11 物体Bodies 222 7.11.1 物体定义 222 7.11.2 位置和角度(Position and Angle) 223 7.11.3 阻尼(Damping) 223 7.11.4 休眠参数(Sleep Parameters) 224 7.11.5 固定旋转(Fixed Rotation) 224 7.11.6 子弹(Bullets) 224 7.11.7 活动状态(Activation) 225 7.11.8 用户数据(User Data) 226 7.12 关节(Joints) 226 7.12.1 关节的定义(JointDef) 226 7.12.2 关节的属性 227 7.12.3 距离关节(Distance Joint) 228 7.12.4 旋转关节(Revolute Joint) 229 7.12.5 移动关节(Prismatic Joint) 230 7.12.6 滑轮关节(Pulley Joint) 231 7.12.7 齿轮关节(Gear Joint) 232 7.12.8 鼠标关节(Mouse Joint) 234 7.12.9 线性关节(Line Joint) 235 7.12.10 焊接关节(Weld Joint) 235 7.13 接触(Contants) 235 7.13.1 概述 236 7.13.2 接触类(Contact Class) 237 7.13.3 访问接触(Accessing Contacts) 237 7.13.4 接触监听器(Contact Listener) 238 7.13.5 接触筛选(Contact Filtering) 240 7.14 示例项目 241 7.14.1 Box2dTest示例项目 241 7.14.2 调试绘图DebugDraw 243 7.14.3 创建精灵刚体 244 7.15 本章小结 246 第8章 游戏中的声音 249 8.1 概述 249 8.2 音乐与音效 250 8.3 声音格式 250 8.4 CocosDenshion声音模块 252 8.5 背景音乐操作函数 253 8.6 声音音效操作函数 255 8.7 示例程序 256 8.8 本章小结 259 第9章 文件操作模块 261 9.1 概述 261 9.2 引擎文件操作模块 261 9.3 读取文件 263 9.4 写入文件 267 9.5 游戏中用户数据 269 9.5.1 游戏中的用户数据 269 9.5.2 用户数据的基本类型 270 9.5.3 读取与写入操作 271 9.6 示例程序 272 9.7 本章小结 274 第10章 内存管理机制 277 10.1 内存管理概述 277 10.2 引用计数 278 10.3 自动释放池 280 10.3.1 使用方法 280 10.3.2 实现原理 281 10.4 管 理 模 式 284 10.4.1 引擎当中的应用 284 10.4.2 缓冲区 285 10.5 日志调试方式 286 10.6 本章小结 288 第11章 粒子系统 290 11.1 概述 290 11.2 粒子效果 291 11.3 粒子系统的来历 292 11.4 引擎当中的粒子系统 293 11.5 粒子的生命周期 294 11.6 粒子的属性 295 11.7 粒子发射器属性 296 11.7.1 发射器共有的属性 296 11.7.2 重力发射器模式(Gravity) 304 11.7.3 半径发射器模式(Radius) 306 11.8 粒子效果编辑器 307 11.8.1 概述 308 11.8.2 Particle Designer的使用方法 308 11.8.3 引擎中应用 310 11.9 本章小结 312 第12章 Lua脚本语言 314 12.1 概述 314 12.2 Lua脚本语言简介 315 12.3 为什么需要它? 316 12.3.1 简易性 316 12.3.2 可扩展性 316 12.3.3 高效性 317 12.3.4 可移植性 317 12.4 Lua脚本语言的语法 318 12.4.1 类型与数值 318 12.4.2 表达式 320 12.4.3 语句 322 12.4.4 函数 326 12.5 Lua在引擎中的应用 328 12.5.1 Lua与C/C++ 328 12.5.2 引擎中的脚本引擎 329 12.6 样例程序 331 12.6.1 脚本引擎初始化 332 12.6.2 游戏内容的实现脚本 333 12.6.3 农场层的实现 334 12.6.4 菜单层的实现 337 12.7 本章小结 338 第13章 Cocos2D-HTML5引擎版本 340 13.1 概述 340 13.2 HTML的发展史 341 13.2.1 HTML版本 341 13.2.2 XHTML版本 342 13.2.3 HTML5是未来之星 342 13.3 HTML5新特性 342 13.3.1 跨平台的特性 343 13.3.2 Canvas API 343 13.3.3 WebGL 344 13.3.4 其他特性 345 13.4 JavaScript语言基础 346 13.4.1 概述 346 13.4.2 变量 347 13.4.3 数据类型 348 13.4.4 运算符 348 13.4.5 语句 351 13.4.6 对象 352 13.4.7 函数 353 13.4.8 事件 354 13.5 Cocos2d-HTML5引擎 356 13.5.1 HTML5版本介绍 356 13.5.2 安装引擎 357 13.5.3 示例程序 357 13.5.4 引擎的架构 360 13.6 JS Binding技术的实现 362 13.6.1 概述 362 13.6.2 SpiderMonkey 362 13.6.3 示例程序 363 13.7 本章小结 364 第14章 引擎之外的附加功能 366 14.1 概述 366 14.2 网络通讯支持 367 14.2.1 HTTP介绍 367 14.2.2 curl库(libcurl) 368 14.2.3 HTTP在引擎中的应用 368 14.2.4 HTTP示例项目 372 14.2.5 Socket的介绍 376 14.2.6 BSD Socket在引擎中的应用 378 14.3 收费模式 379 14.3.1 下载计费 379 14.3.2 内置计费 380 14.3.3 广告版本 380 14.4 社交网络在游戏中的应用 381 14.4.1 Game Center 382 14.4.2 OpenFeint 384 14.5 数据分析 385 14.5.1 Flurry介绍 386 14.5.2 友盟 390 第15章 Cocos2D-X引擎的未来 391 15.1 概述 391 15.2 Cocos2D引擎的走势 391 15.3 Cocos2D-X引擎的不足 392 15.3.1 丰富的UI 393 15.3.2 完善的工具 393 15.3.3 支持网络通迅 395 15.3.4 版本的统一 395 15.3.5 数据安全 396 15.4 Cocos2D-X引擎增强的功能 396 15.4.1 良好的中文支持 397 15.4.2 游戏基本框架 397 15.4.3 游戏逻辑支持 398 15.4.4 脚本化编程 399 15.4.5 可视化的操作界面 400 15.5 会不会有Cocos3D? 401 15.6 本章小结 403
使用您自己的无线Keytar摇滚,这是一款可与任何计算机或平板电脑配合使用的蓝牙MIDI控制器!最多12个按钮可以自定义,可以自定义以触发声音或效果。 该项目使用Adafruit的EZ Key蓝莓无线控制器。吉他有4个街机按钮和6个LED按钮。吉他可用作MIDI乐器,视频游戏控制器甚至DJ控制器。您可以根据需要自定义和配置吉他。 机箱是3D打印的,您可以从Thingiverse下载设计文件。这种六件式设计针对MakerBot Replicator 2构建板进行了优化。没有3D打印机?您可以随时用木头,塑料(或纸板)制作自己的吉他。 我们使用4个新像素和一个麦克风作为电平表,因此LED可以对声音进行动画处理。Flora微控制器为这些组件供电,并使用拨动开关和电池组。两个后盖设计用于轻松快速打开和关闭以快速到达组件。 工具与用品 EZ-Key MIDI吉他的电子元件不到20个。利用Bluefruit蓝牙模块,您最多可以配置12个按钮。 组件 1x Bluefruit EZ-Key 1x FLORA微控制器 4x Neo-Pixels(一包配4个) 4x Shorty Arcade按钮 6个LED按钮 1个AAA电池组 1x 驻极体麦克风放大器 带引线的 1x 触觉开/关开关 工具 3D打印机 烙铁 尖嘴钳 小螺丝刀 电路刮刀 X-Acto刀 3D打印 3D打印文件请查看附件 原型 在焊接之前,将组件分成两部分进行测试。蓝莓和街机按钮可以测试除了植物,LED按钮,neopixels和麦克风。请参见电路图。 电路原理图 此处的电路图设置为使用两个LED按钮和一个街机按钮进行测试和原型设计。首先使用一个或两个按钮,然后添加更多按钮! 您需要在完整版本中串联添加按钮和neopixels。 额外的按钮都将开关的一侧接地(您可以将它们全部连接到接地引脚),开关的另一侧转到Bluefruit EZ-Key右侧的按钮#input 。对于LED点亮按钮,将一个220-1000欧姆的电阻从LED引脚连接到地,并将所有LED +连接到3.3V 在我们完成的构建中,您可以看到我们将电阻器靠近LED按钮。粗线的导线穿过两个部件的开口,在那里它们连接在一起。 配置音频+ MIDI 重新映射EZ-Key 默认的EZ-Key键包括箭头键,返回键,空格键 - 这些键可能无法与MIDI软件一起使用。它非常容易更新击键,你甚至可以通过无线方式进行。检查Bluefruit EZ-Key重新映射教程以重新映射您的密钥,我们使用'a'到'j'代表#0到#9 音频设置 如果您已经熟悉midi合成器应用程序或daw,那么您已经知道如何设置新的MIDI控制器。这不需要对DAW或合成器应用程序进行任何其他设置或配置。Garageband,Ableton,Logic,Protools,Cubase,FL Studio等都很棒。任何允许MIDI输入/输出的音乐制作应用程序。这包括Scratch,Traktor,虚拟DJ,djay等DJ节目。 VMPK 虚拟MIDI钢琴键盘或简称vmpk,是一个很棒的跨平台应用程序,允许您将键盘转换为MIDI控制器。它允许您映射键盘字符并使它们发送MIDI音符或CC。它应该自动连接到您的DAW或合成器应用程序。有关解决相关问题的问题,请访问vmpk 网站以获取解决方案。 虚拟MIDI映射 要在vmpk中设置MIDI地图,请转到文件>键盘映射。键映射编辑器具有与每个MIDI音符对应的值编号列表。“0”值以C1开头,依此类推。您需要通过双击值旁边的输入字段并按键来映射每个所需的MIDI音符。点击“输入”键提交字符。您可以使用箭头键更改基本八度音阶。您可以保存XML地图,以便在地图之间安全保存和切换。 测试,调整,测试更多! 花点时间将您的按键映射到您真正想玩的midi音符。我喜欢保存我的地图并将它们命名为我喜欢的歌曲。地图保存为XML,因此如果您愿意,可以手动编码。当您熟悉MIDI音符编号值时,以这种方式设置地图会变得更快。
《Android高级编程》首先简要介绍Android软件栈,接着陈述为手机创建稳定可靠、赏心悦目的应用程序的基本原理。通过学习,您可以打下牢固的理论根基,了解使用当前Android 1.0 SDK编写定制移动程序所需的知识,还能灵活快捷地运用未来的增强功能构建最前沿的解决方案。   Android提供一个开放的开发环境,为针对移动设备编写创新应用程序带来了激动人心的新机遇。作为使用AndroidSDK构建这些应用程序的实用指南书籍,《Android高级编程》从始至终穿插了一系列示例项目,每个项目都引入Android的新功能和新技术,以助您达到最圆满的学习效果。书中介绍Android的所有基本功能,并通过简明扼要的示例引导您使用高级功能。 更多关于安卓软件系统详情-安卓风 目录: 第1章 Android简介 1.1 一些背景信息 1.1.1 不远的过去 1.1.2 未来的前景 1.2 对Android的误解 1.3 开放的移动开发平台 1.4 自带的Android应用程序 1.5 Android SDK功能 1.5.1 对包括摄像头、GPS和加速计在内的硬件的访问 1.5.2 自带的Google地图、地理编码和基于位置的服务 1.5.3 后台服务 1.5.4 SQLite数据存储和检索数据库 1.5.5 共享数据和应用程序间通信 1.5.6 使用Google Talk的P2P服务 1.5.7 扩展的数据支持和2D/3D图形 1.5.8 优化的内存和进程管理 1.6 开放手机联盟简介 1.7 运行Android的环境 1.8 从事Android开发的原因 1.8.1 推动Android普及的因素 1.8.2 Android的独到之处 1.8.3 改变移动开发格局 1.9 开发框架简介 1.9.1 开发包中的资源 1.9.2 理解Android软件栈 1.9.3 Dalvik虚拟机 1.9.4 Android应用程序架构 1.9.5 Android库 1.9.6 高级Android库 1.10 小结 第2章 开始入手 2.1 Android开发 2.1.1 开始前的准备工作 2.1.2 创建第一个Android活动 2.1.3 Android应用程序的类型 2.2 面向移动设备的开发 2.2.1 关于硬件设计的考虑事项 2.2.2 考虑用户环境 2.2.3 Android开发 2.3 To-Do List示例 2.4 Android开发工具 2.4.1 Android模拟器 2.4.2 Dalvik调试监控服务(DDMS) 2.4.3 Android调试桥(ADB) 2.5 小结 第3章 创建应用程序和活动 3.1 Android应用程序的组成部分 3.2 程序清单简介 3.3 使用清单编辑器 3.4 Android应用程序生命周期 3.5 理解应用程序的优先级和进程状态 3.6 分离资源 3.6.1 创建资源 3.6.2 使用资源 3.6.3 To-DoList资源示例 3.6.4 为不同的语言和硬件创建资源 3.6.5 运行时配置更改 3.7 深入探讨Android活动 3.7.1 创建一个活动 3.7.2 活动生命周期 3.7.3 Android活动类 3.8 小结 第4章 创建用户界面 4.1 Android UI基本设计 4.2 View简介 4.2.1 使用View创建Activity(活动)用户界面 4.2.2 Android Widget工具箱 4.3 布局简介 4.4 创建新的View 4.4.1 修改现有的View 4.4.2 创建复合控件 4.4.3 创建定制的Widget和控件 4.4.4 使用定制的控件 4.5 创建和使用菜单 4.5.1 Android菜单系统简介 4.5.2 定义活动的菜单 4.5.3 动态更新菜单项 4.5.4 处理菜单选择 4.5.5 子菜单和上下文菜单 4.5.6 To-Do List示例续 4.6 小结 第5章 Intent、广播接收器、 Adapter和Internet 5.1 Intent简介 5.1.1 使用Intent来启动活动 5.1.2 使用Intent Filter来为隐式Intent提供服务 5.1.3 使用Intent Filter作为插件和扩展 5.1.4 使用Intent来广播事件 5.2 Adapter简介 5.2.1 Android提供的部分Adapter简介 5.2.2 使用Adapter绑定数据 5.3 使用Internet资源 5.3.1 连接到Internet资源 5.3.2 利用Internet资源 5.4 Dialog简介 5.4.1 Dialog类简介 5.4.2 使用活动作为对话框 5.5 创建一个地震查看器 5.6 小结

8,303

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧