游戏新手教程类程序(类似××农场的新手教程)怎么使用面向对象设计
游戏新手教程类程序(类似××农场的新手教程)如何使用面向对象设计?
正在做一个 类似于××农场的新手教程程序(Flash平台),初学面向对象程序设计的我在设计这个程序时有了很多疑惑。像这一类游戏新手教程程序,一般就是一系列的操作过程演示,还有场景的切换。那么我在这些要实现的一系列过程演示里(这个程序就是一系列过程啊),如何应用面向对象的设计方法?
如,程序流程如下(扎在面向过程里出不来,分析其程序时也还是的用过程描叙)
1、提示面板——“欢迎辞:欢迎您进入××农场的世界……云云”
2、提示面板——“请选择收获工具(手),收获田里的萝卜……”;工具栏里手型收获工具闪烁
2.1 等待用户点击选择收获工具(手)
2.1.1用户选择其他工具,则弹出框——“在新手教程中您必须要教程操作,选择收获工具,按 继续 按钮继续”;继续等待用户选择收获工具
2.2 用户选择收获工具后,收获工具随鼠标移动(标准鼠标指针隐藏),等待用户点击农田里的农作物;
2.3 用户点击农作物,农作物被收获(收获动画),农作物消失,留下杂草
3、提示面板——“选择铲子工具锄草”……
…………………………
以上就是一系列流程演示的实现,抱歉,我实在不知道如何用面向对象的方法分析
另外,这类程序经常还会遇到 场景切换流程
9、提示面板——“请点击右上角的‘去牧场’按钮进入××牧场”
9.1 等待用户点击‘去牧场’按钮…………
9.2 用户点击‘去牧场’按钮后,场景逐渐变黑暗,移除舞台上的大部分元素(不是全部,如用户资料信息类元素还是要保留,某些工具栏也要保留),在添加××牧场的元素………………
这中教程类的程序,本身就是一系列过程的演示,那么,怎样才能用面向对象的方法来构建这种程序,怎样才能简化Main主程序里的代码,怎样才能做到低耦合,易修改?比如,我做好了这个程序,然后客户说教程中某一步要修改(如收获农作物,教新手改用一键收获工具),某几步要交换位置(如农田里本身应该是空的,先种植物,再立即演示收获),某个步骤,要添加一些特效(如一键收获,添加农作物飞起放入粮仓的动画),××牧场里,要添加几个新功能元素(如一键收获、查看自己的排名)……
面对这一系列需求变化,我不可能用面向过程的方法来写这个新手教程程序(那会改死人的),但这个程序本身就是过程演示,我如何采用面向对象分析?如何做到易修改,主程序简洁?
求大虾们指教(当然,如有规范的源代码更好~~~)
------解决方案--------------------
把新手教程当成一个关卡来设计
------解决方案--------------------
觉得你这个不是不知道如何用面向对象设计,而是不知道如何建立程序架构。
你可以多看一些游戏开发中的有限状态机资料,如果一个架构建立起来了,
其它的比如类的设计就自然而然的形成了。
正在做一个 类似于××农场的新手教程程序(Flash平台),初学面向对象程序设计的我在设计这个程序时有了很多疑惑。像这一类游戏新手教程程序,一般就是一系列的操作过程演示,还有场景的切换。那么我在这些要实现的一系列过程演示里(这个程序就是一系列过程啊),如何应用面向对象的设计方法?
如,程序流程如下(扎在面向过程里出不来,分析其程序时也还是的用过程描叙)
1、提示面板——“欢迎辞:欢迎您进入××农场的世界……云云”
2、提示面板——“请选择收获工具(手),收获田里的萝卜……”;工具栏里手型收获工具闪烁
2.1 等待用户点击选择收获工具(手)
2.1.1用户选择其他工具,则弹出框——“在新手教程中您必须要教程操作,选择收获工具,按 继续 按钮继续”;继续等待用户选择收获工具
2.2 用户选择收获工具后,收获工具随鼠标移动(标准鼠标指针隐藏),等待用户点击农田里的农作物;
2.3 用户点击农作物,农作物被收获(收获动画),农作物消失,留下杂草
3、提示面板——“选择铲子工具锄草”……
…………………………
以上就是一系列流程演示的实现,抱歉,我实在不知道如何用面向对象的方法分析
另外,这类程序经常还会遇到 场景切换流程
9、提示面板——“请点击右上角的‘去牧场’按钮进入××牧场”
9.1 等待用户点击‘去牧场’按钮…………
9.2 用户点击‘去牧场’按钮后,场景逐渐变黑暗,移除舞台上的大部分元素(不是全部,如用户资料信息类元素还是要保留,某些工具栏也要保留),在添加××牧场的元素………………
这中教程类的程序,本身就是一系列过程的演示,那么,怎样才能用面向对象的方法来构建这种程序,怎样才能简化Main主程序里的代码,怎样才能做到低耦合,易修改?比如,我做好了这个程序,然后客户说教程中某一步要修改(如收获农作物,教新手改用一键收获工具),某几步要交换位置(如农田里本身应该是空的,先种植物,再立即演示收获),某个步骤,要添加一些特效(如一键收获,添加农作物飞起放入粮仓的动画),××牧场里,要添加几个新功能元素(如一键收获、查看自己的排名)……
面对这一系列需求变化,我不可能用面向过程的方法来写这个新手教程程序(那会改死人的),但这个程序本身就是过程演示,我如何采用面向对象分析?如何做到易修改,主程序简洁?
求大虾们指教(当然,如有规范的源代码更好~~~)
------解决方案--------------------
把新手教程当成一个关卡来设计
------解决方案--------------------
觉得你这个不是不知道如何用面向对象设计,而是不知道如何建立程序架构。
你可以多看一些游戏开发中的有限状态机资料,如果一个架构建立起来了,
其它的比如类的设计就自然而然的形成了。