drzzm32 发表于 2014-9-8 16:28:53

本帖最后由 drzzm32 于 2014-9-8 16:36 编辑

lrdcq 发表于 2014-9-8 15:46
@drzzm32AVG引擎我勉强也算接触过(http://lrdcq.com/右下角的伪春菜系统即是一个超级精简的AVG引擎),A ...

这个目的是学习。。。
当然,我说了,逻辑都以场景编号确定,然后通过选择进行跳转。如果没选择,就直接顺序执行。

实际我这个是资源定义语句。
不能说是脚本。
这个只是一个想法,自己的想法。

(其实是ThAcAV的准备)

lrdcq 发表于 2014-9-8 16:37:45

drzzm32 发表于 2014-9-8 16:28 static/image/common/back.gif
这个目的是学习。。。
当然,我说了,逻辑都以场景编号确定,然后通过选择进行跳转。如果没选择,就直 ...

是的,理解文件脚本是顺序执行,但是[背景/音乐]和[立绘]的调用呢?
还是说是一个场景仅触发里面声明的[背景/音乐]和[立绘]就可以了

另外,是否考虑添加character类(人物标签)来规整化素材

drzzm32 发表于 2014-9-8 17:14:57

lrdcq 发表于 2014-9-8 16:37
是的,理解文件脚本是顺序执行,但是[背景/音乐]和[立绘]的调用呢?
还是说是一个场景仅触发里面 ...

怎么说呢,那几个都是场景的成员
第一次是设定,之后就是一个状态标记,表明路径没变,保持状态。。。
大概是状态机的感觉

ofz 发表于 2014-9-8 18:06:50

本帖最后由 ofz 于 2014-9-8 18:18 编辑

drzzm32 发表于 2014-9-8 17:14 static/image/common/back.gif
怎么说呢,那几个都是场景的成员
第一次是设定,之后就是一个状态标记,表明路径没变,保持状态。。。
...
我觉得像 @lrdcq 所说的,把资源和逻辑分开,在复杂的项目里确实是更好的选择(没必要重复的东西就不要重复,这就是所谓的 DRY (Don't Repeat Yourself) 原则哦

如果加一个角色的定义,还能顺便加上表情和动画什么的

--示例
开始定义角色 灵梦 /imgs/reimu--文件夹路径
    表情 默认 default.jpg --这行可以不写
    表情 笑 smile.jpg
    表情 怒 angery-1.jpg angery-2.jpg angery-3.jpg --多张图片将变为动画
结束定义角色

--引用的时候
开始定义场景
    开始定义文字
      你这妖怪快给赛钱!
      选择 给 xx
      选择 不给 xx
    结束定义文字
    角色 灵梦 怒 (100,100)
结束定义场景

你觉得如何?

lrdcq 发表于 2014-9-8 20:04:46

话说回来,如果采用资源定义的的方式调用数据,作为标签式脚本(语言),最好不要用“资源编号”而是使用关键字(KEY)或者ID(比如ofz上面使用“灵梦”作为关键字调用资源)。
如果觉得不好处理的话,处理脚本时可以正则为xml再来用xml相关程序组件来处理就可以了。本来现在这个结构已经很类似于xml了(感觉意外的方便?

drzzm32 发表于 2014-9-8 20:24:08

lrdcq 发表于 2014-9-8 20:04
话说回来,如果采用资源定义的的方式调用数据,作为标签式脚本(语言),最好不要用“资源编号”而是使用关 ...

我本来就是这样的。。。用文件路径引用。。。
但是在代码内部肯定要用资源编号。
嗯,资源编号是私有成员。
然后场景编号,则是逻辑控制核心。

八咫乌空 发表于 2014-9-9 00:33:17

专精于lua设计弹幕的帮顶

drzzm32 发表于 2014-9-9 23:07:04

@白色睡帽 @c3ctd @Capt.Murasa @ofz @lrdcq @八咫乌空
来看看,我把数据结构敲出来了,大概是树。

Capt.Murasa 发表于 2014-9-10 08:57:44

本帖最后由 Capt.Murasa 于 2014-9-10 09:12 编辑

雖然意義不大,但留意到程式碼:
   Public Sub Init(ByVal InName As String, ByVal InPath As String, ByVal InIndex As Integer)            Name =            InName : Path = InPath : Index = InIndex   
   End Sub

可以寫成為:
Sub New(ByVal InName As String, ByVal InPath As String, ByVal InIndex As Integer)
Name = InName : Path = InPath : Index = InIndex
Setting
End Sub

drzzm32 发表于 2014-9-10 10:23:09

Capt.Murasa 发表于 2014-9-10 08:57
雖然意義不大,但留意到程式碼:
   Public Sub Init(ByVal InName As String, ByVal InPath As String, By ...

我本来想这样写的,但是有类嵌套,外部类实例化内部也会实例化,但是构造函数的参数传递就不好办……

具体的数据处理还是要看自己……意义不大……么?
这样用类,到时候直接实例化为数组,一下子很简单了
页: 1 [2] 3 4
查看完整版本: 【11.22修改】AVG游戏引擎制作