`
vini123
  • 浏览: 39146 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

关于Flash网页游戏开发的一些心得与自己理解的解决方案

    博客分类:
  • RPG
阅读更多
鉴于工作经验的限制,目前所能体会到的Flash游戏项目可以有以下的解决方案

1 游戏整个分视图层,数据层,服务层三层结构
1 视图层创建策略
1)需要的时候重新创建,关闭的时候完全卸载(清除引用)
优点:节省内存
缺点:浪费cpu,因为你每次需要这个组件的时候都要重新创建

2)一次性全部创建,关闭的时候只从显示列表移除(并不清除引用)
优点:节省cpu
缺点:浪费内存

2 数据存储策略
1)数据全部放到服务端,每次窗体初始化后通知服务器获取数据,每次视图需要刷新都通知服务器获取数据
优点:处理逻辑简单,客户端功能单一,只负责显示,开发难度相对小
缺点:对服务器压力巨大,当想实现客户端逻辑的时候比较困难,用户体验差

2)数据缓存在客户端,数据变更的时候刷新缓存数据,这样更新视图层的时候
优点:减小服务器压力,可以轻松实现常规客户端逻辑,用户体验好
缺点:增加客户端处理逻辑,客户端开发难度加大,维护缓存数据麻烦

3 视图刷新策略
1)视图层每次通信保留回调函数,服务器操作成功,回调刷新视图
优点:目前还没发现什么优点
缺点:使各层之间耦合度大大增高,项目层次混乱

2)视图层侦听数据变更事件,事件中包含视图层需要的数据,视图层捕获事件,提取数据更新视图
这种方式需要采用第二种视图创建策略
优点:类似观察者模式,耦合度相对较低
缺点:侦听器的选择是一个问题,侦听器管理是个问题,项目结构混乱

3)视图层侦听数据变更事件,数据存储到统一的共享区中,侦听到事件后,根据事件类型到共享缓存区提取自己
需要的数据,刷新视图
优点:不用过多管理事件中携带的数据,同一管理共享缓存区数据
缺点:因为提取共享数据,全局变量的增多导致耦合度增大,侦听器的选择是一个问题,侦听器管理是个问题

4)视图层不采取任何操作,公开视图刷新接口,依赖外界注入数据,这种方式必须采用第二种视图创建策略
优点:耦合度底,项目结构清晰,不必要管理繁琐的侦听器
缺点:如果数据比较多,那么需要的公开接口就比较多,开发比较繁琐


4 对于真个项目推荐的相对好的解决方案
1 视图创建策略采用第二种,因为相对于资源管理来讲,Flash产品对于cpu的要求要比内存高些,因为FLash重绘一直在好用cpu
内存好用在宏观上讲是固定的,而cpu的处理量每时每刻会跟随者渲染的不同而不同,还有一个原因就是,统一创建出来所有视
图组件可以在游戏的整个运行过程中对每一个视图层进行细微粒度的控制,真个项目的所有元素任你操控

2 数据存储策略会采用第二种,因为服务器可以承受的处理压力是有限的,在现有处理器内存资源情况下容纳更多的用户是一款
Flash产品必须做到的,并且游戏的处理逻辑不可能全部放到服务端的,所以就需要客户端参与逻辑处理,而逻辑处理离不开缓存
数据

3 视图刷新策略采用第四种,这种方式使项目耦合度降低,对游戏元素控制更加主动,对于类似游戏这样的项目就是要达到可以
手动操控游戏里的每一个可控元素,并且项目结构清晰

5 综上所述,总结出来的就是一下的解决方案

一次性创建所有的视图元素,数据缓存在客户端,视图刷新依赖外界注入,当然了 这个只是最基本的处理方式,这其中少不了大量管理
器的参与与调节,我的处理策略是 需要一个跟Flash系统相关的 系统管理器 一个跟游戏相关的游戏主管理器,还有跟具体的游戏逻辑直接
相关的场景管理器,地图管理器,用户管理器,命令管理器,战斗管理器等等

文章来源:http://www.webgamei.com/club/thread-16483-1-7.html
分享到:
评论

相关推荐

    网页设计心得与体会-资料___.docx

    #### 五、设计过程中的挑战与解决方案 在网页设计的实际操作中,经常会遇到各种挑战,比如: - **缺乏代码知识**:可以通过阅读文档、在线教程或参加培训课程来弥补这一短板。 - **时间管理**:合理规划时间,确保...

    flash 相册制作大师模板

    博文链接指向了iteye博客的一个条目,这可能是一个开发者分享其关于如何使用该工具或模板的教程或者心得,虽然具体内容无法在这里复述,但通常这类博客会包含实际操作步骤、注意事项以及可能遇到的问题解决方案。...

    MTK开发心得MTK开发心得

    ### MTK开发心得详解 #### 一、MTK开发环境设立 在进行MTK平台的软件开发之前,首先需要搭建一套完整的开发环境。这包括选择合适的操作系统、编译器、仿真工具以及其他辅助软件等。 ##### **1. 开发主机要求及所...

    网页设计与制作总结.docx编程资料

    - **图像处理与动画设计**:熟练使用Photoshop处理网页中的图像,并使用Flash设计网页动画。 - **综合运用多种工具**:能够独立利用Dreamweaver、Photoshop和Flash等工具完成网站构建任务。 - **实训报告撰写**:...

    信游免费版

    综上所述,信游免费版是一个全方位的网页游戏运营解决方案,其强大的功能和开源特性使得更多的人能够参与到网页游戏的运营中来,降低了进入门槛,推动了行业的繁荣。通过深入理解和运用这个平台,你可以构建起自己的...

    dw制作的班级网站

    从给定的文件信息来看,该文档主要围绕“dw(Dreamweaver)制作的班级网站”这一主题展开,详细介绍了项目的设计背景、目的、过程、遇到的问题及其解决方案、个人心得和致谢等内容。以下是对这些关键知识点的深入...

    uCOS51移植心得

    以下是一些常见问题及其解决方案: - **堆栈溢出**:可以通过增加堆栈大小或优化代码来减少堆栈使用量。 - **中断处理**:正确配置中断优先级,避免中断冲突导致的问题。 - **代码优化**:利用汇编语言对关键部分...

    Flash Guestbook 源代码下载

    2. **代码中国.txt**:这可能是一个文本文件,作者可能在这里记录了开发过程中的笔记、心得或者代码片段,也可能包含一些开发时遇到的问题及解决方案。 3. **代码中国.url**:这是一个快捷方式链接,指向“代码中国...

    Flash加密和混淆.

    #### 解决方案与心得 选择合适的加密和混淆策略取决于具体的应用场景和安全需求。对于关键的资源、核心算法和重要逻辑,采用加密和混淆措施是必要的。然而,加密并非万能之策,它可能被破解,也可能因为其复杂性而...

    linux学习心得 总结了我这学期以来s3c2440的所有心得体会

    在Linux世界中,S3C2440是一款由三星公司设计的基于ARM920T内核的微处理器,广泛应用于嵌入式系统。...对于初学者来说,这是一个宝贵的资源,对于经验丰富的开发者,它可能提供了一些新的视角和解决方案。

    网页制作评分表.pdf

    在提交的作品中,学生需要按照规定格式和内容要求准备实践报告,包括网站描述、链接关系、设计方法、问题与解决方案、心得体会等,并避免抄袭。 总的来说,这个评分标准和设计任务书旨在培养学生的网页设计技能,...

    联想S6000刷机心得教程

    在论坛中寻找大神的帖子是非常明智的选择,这些帖子通常包含了详细的步骤、注意事项以及常见问题的解决方案。在开始刷机前,务必仔细阅读并理解这些教程,确保你对整个流程有一个清晰的理解。 刷机的基本步骤大致...

    IVR AVR 使用心得

    通过以上知识点的学习和实践,开发者可以更好地掌握IVR AVR系统的开发,提高工作效率,构建高质量的电话交互解决方案。不断探索和学习新的技术和最佳实践,是持续提升IVR系统性能和用户体验的关键。

    我的ADS编译器调试裸机的心得

    #### 调试过程中遇到的问题与解决方案 1. **内存初始化问题**: - 在调试过程中,可能会遇到内存初始化错误,例如无法正确初始化NAND Flash或SDRAM。这通常是由于内存基地址设置不当导致的。 - **解决方法**:...

    IAR下用JLINK_调试STM32心得_stm32_jlinkIARforarm_

    在嵌入式开发领域,STM32微控制器是广泛应用的一款32位ARM Cortex-M系列处理器。J-Link作为其中一款主流的调试器和编程器,常与IAR ...阅读"IAR下用JLINK_调试STM32心得.pdf"文件,将为你提供更具体的案例和解决方案。

    Flex程序开发心得小结

    Flex是一种用于开发富互联网应用(Rich Internet Applications,RIA)的框架,它是由Adobe公司推出并且被广泛应用于基于Flash的开发环境。Flex提供了一套丰富的组件库,使得开发者可以快速构建具有复杂界面的应用...

Global site tag (gtag.js) - Google Analytics