- 注册时间
- 2004-5-16
- 最后登录
- 2024-11-13
超级版主
传说中的Bunny坑神~!
 
- 积分
- 244543

|
发表于 2006-2-5 12:01:02
|
显示全部楼层
如:我可以把定义部分放在一个0.txt中,把人物表情程序,特定动画等实现程序放在其他的*.TXT中,这样编写起来也方便些。在要开始使用时可以用自己定义的动画接口来实现(位于其他的文件中)。
真够面向对象的,笑。
顺便一说在下本人我既没有学过VC也没有学过VC++,VB也只是学来应付学校考试而已……
所以你讲这么多我也不懂,仅按照我的理解说下你想要的功能……NS没那么复杂……
但是如果你嫌它功能不够,可以自己做些DLL来用……具体实例同样参考官方DLL包(原代码都是开放的,虽然我不知道它们是用什么语言在写)。
实际上因为NS是单线执行的,只要特意把你所写的内容放在某个txt档案里,然后确保除非调用,它不会在一般游戏流程中被执行就可以了。[比如在*start之后第一行就写上goto,跳过整个自定义动画区块。]
另外就可以试试看用defsub。这是NS里自定义简单函数的命令。
在*define和game 之间加入defsub+自定义函数名称。
之后把自定义的函数内容写入game和*start之间……
自定义函数的写法:
*名称
;内容
return
例如(不带任何参数):
- *define
- defsub frame
- game
- ;-----------------------------
- *frame
- csp -1
- setwindow 172,472,15,4,24,24,2,5,%704,1,1,":a;pic\\frame.jpg",0,0
- mov %1,0
- mov $0,"prin\\0.jpg"
- btndef ""
- print 1
- return
- ;-----------------------------
- *start
- frame
- 开始游戏\\
- end
复制代码
第二个例子(使用参数)- *define
- defsub music
- game
- ;----------------------------------------------------------------------
- *music
- getparam %700 ;变量%700被代入参数内容
- if %700=0 bgm "xd.mid"
- if %700=1 bgm "orz.mp3"
- if %700=2 bgm ""
- return
- ;----------------------------------------------------------------------
- *start
- music 1 ;播放bgm orz.mp3
- 开始游戏\\
- end
复制代码
getparam的使用注意就是必须划定一个特殊变量区,
在两个用于getparam的变量之间不能有任何其他功能的变量。
如果播放音乐用了%700,显示表情用了%703,那么%701绝对不可以用来记录人物HP,否则会出错…… |
|