幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 8894|回复: 13

[NS] ns学习心得——4方向行走

[复制链接]

12

主题

225

帖子

2396

积分

开发组

三心二意魔人

积分
2396
发表于 2005-7-5 20:56:17 | 显示全部楼层 |阅读模式
*define

game
*start
setwindow 30,400,25,2,22,22,0,2,40,0,1,#666666,20,396,619,470
bg #006699,1


;这一次的动机也非常简单,在金山快译华丽的翻译的帮助下(又来了……汗),新学会了clickpos这个命令,然后就高兴的发现,拿已经学会的几个简单命令一拼凑,居然也可以实现4方向走了。


mov %0,0
mov %1,0

bar 1,1,240,300,400,180,1,#ff6666
lsp 9,":s/22,22,1;#ffffff站定的人的正面",%0,%1

;把lsp的对象替换为相应的人物行走动画和站立图,然后调整坐标,让鼠标点击的点位于人物双脚之间,就是标准的4方向走了。


print 1


;------------------------------

*click

;clickpos是用来获得鼠标点击的坐标的,命令格式是:
;clickpos 用来获得x坐标的变量,用来获得y坐标的变量

clickpos %2,%3


if %2>=240 && %3>=300 goto*a;点击了禁入区域,跳转到标签a


;以下是判定向哪个方向起步的,横向位移和纵向位移哪个小就先向哪个方向移动

if %2>=%0 && %3>=%1 && %2-%0>=%3-%1 goto *down
if %2>=%0 && %3>=%1 && %2-%0<%3-%1 goto *right

if %2>=%0 && %3<%1 && %2-%0>=%1-%3 goto *up
if %2>=%0 && %3<%1 && %2-%0<%1-%3 goto *right

if %2<%0 && %3>=%1 && %0-%2>=%3-%1 goto *down
if %2<%0 && %3>=%1 && %0-%2<%3-%1 goto *left

if %2<%0 && %3<%1 && %0-%2>=%1-%3 goto *up
if %2<%0 && %3<%1 && %0-%2<%1-%3 goto *left



;-----------------------------


;向右移动
*right

lsp 9,":s/22,22,1;#ffffff向右走的人",%0,%1
for %4=%0 to %2 step 2
msp 9,2,0,0
wait 10
print 1
if %4>=240 && %1>=300 break;移动到禁入区结束循环
next
if %4>=240 && %1>=300 goto *b;移动到禁入区结束循环后跳转到标签b
mov %0,%2
lsp 9,":s/22,22,1;#ffffff右侧的站定的人",%0,%1
print 1
if %3>%1 goto *down
if %3<%1 goto *up
if %3=%1 goto *click




;向左移动
*left

lsp 9,":s/22,22,1;#ffffff向左走的人",%0,%1
for %4=%0 to %2 step -2
msp 9,-2,0,0
wait 10
print 1
if %4>=240 && %1>=300 break
next
if %4>=240 && %1>=300 goto *b
mov %0,%2
lsp 9,":s/22,22,1;#ffffff左侧的站定的人",%0,%1
print 1
if %3>%1 goto *down
if %3<%1 goto *up
if %3=%1 goto *click




;向下移动
*down

lsp 9,":s/22,22,1;#ffffff向下走的人",%0,%1
for %5=%1 to %3 step 2
msp 9,0,2,0
wait 10
print 1
if %0>=240 && %5>=300 break
next
if %0>=240 && %5>=300 goto *b
mov %1,%3
lsp 9,":s/22,22,1;#ffffff正面的站定的人",%0,%1
print 1
if %2>%0 goto *right
if %2<%0 goto *left
if %2=%0 goto *click




;向上移动
*up

lsp 9,":s/22,22,1;#ffffff向上走的人",%0,%1
for %5=%1 to %3 step -2
msp 9,0,-2,0
wait 10
print 1
if %0>=240 && %5>=300 break
next
if %0>=240 && %5>=300 goto *b
mov %1,%3
lsp 9,":s/22,22,1;#ffffff背面的站定的人",%0,%1
print 1
if %2>%0 goto *right
if %2<%0 goto *left
if %2=%0 goto *click



;----------------------------



*a;点到禁入区,重回click标签

这里不能去\
textoff
goto *click



*b;对象被弹离禁入区一小段距离,然后重新回到click标签。按理说这里应该写得更仔细点,从哪个方向来的往哪个方向弹开去……啊啊啊啊~~~~那种的要怎么写啊?!!!!抓狂ing~~~~~~~

msp 9,-10,-10,255
mov %0,%4-10
mov %1,%5-10
print 1

这里过不去\
textoff
goto *click


;-----------------------


;障碍的部分,那种自动寻路要怎么做,完全没有思路……-______-……老实说,别说寻路了现在的障碍再复杂一点,能不能让人物老老实实地停下来我也没信心呢……-__-bbbbbbbb
;移动到特定地点触发事件感觉倒不是很难。
;最最让人绝望的是——遮挡判断要怎么做啊?感觉上那种有立体感的常规rpg冒险画面没有实现的可能啊……啊,对了,可以让主角在应该被遮挡的位置上呈现半透明……看似很高级的效果……笑……
;接下来的计划是再现rpg式横版战斗,思路上大概想了一下,感觉不是很难,基本命令拼凑即可,只是非常麻烦……


;搞了半天好像真要拿ns做rpg似的……其实我完全没有那种野心(寒一个先,有人真的想拿ns做rpg吗?)……仅仅是在体验学习ns的乐趣呢……感觉上再现rpg系统是种非常全面的练习方法……


;期待高人指点了……(主要是标签b那里的问题…还有就是整个脚本有没有明显是冗余步骤的,有没有更简单的实现方法…)

;如无意外,这高人就是d san了吧?……指望上了……笑~~


end
回复

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

发表于 2005-7-5 21:13:54 | 显示全部楼层
呼,黑线,从半个月前就开始考虑要表从RMXP的脚本里刮对话脚本出来看以搞这种BT东西...=v=
因为NS是单线处理的,这种还真是很麻烦.加精...考完再议.
另外,可以试看看使用btnwait命令附加NS本身的几个键控判断来写键盘操作的行走.相对来说简单很多...
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

125

主题

288

帖子

1387

积分

⑥精研

积分
1387
发表于 2005-7-5 22:46:36 | 显示全部楼层
NS是用来做ADV的,当然也可以做迷宫或纸牌游戏。但是高桥加入的这些命令,用处实在很有限,NS的内部处理机制决定了它不可能做出令人满意的RPG(单单是做一个复杂些的AVG系统执行速度都大打折扣,画面效果和IO控制方面就更不用说)。如果真的有心做RPG,不想受RPG MAKER的限制又没有多少游戏系统构成经验(前提还是要会一点编程)的话,KRKR和HSP应该是不错的选择,不过两个都是日本的东西orz。前者我不清楚(只是听说很好用而已),后者不仅拥有方便易上手的BASIC系语言环境和众多强大插件的支持(从DIRECTX到WINSOCK都有),还可以用VC或BORLAND C++自行编写扩展模块以满足功能需求(可插入HSP的标准资源定位头文件,并与HSP的标准运行时混合编译)。两者基本上是什么游戏都能做(包括MMORPG,HSP更可在MAC上跨平台执行),只要有足够的实力和创意。

PS TO D:
理论上除了网络通信外都不需要多线程技术……你说的那个应该叫单步(一个线程是不能同时CALL数个子进程的)

[此贴子已经被作者于2005-7-5 22:49:33编辑过]
回复 支持 反对

使用道具 举报

12

主题

225

帖子

2396

积分

开发组

三心二意魔人

积分
2396
 楼主| 发表于 2005-7-5 22:54:18 | 显示全部楼层
那个标签b的问题我解决了……[em04]真是白痴到自己都寒的程度……只要多设几个标签就ok了……
按钮部分我还没开始学呢……汗……学去了……
因为已经毕业了,对这个时间段不太敏感了,不过好像我的不少在校的朋友都已经放假了啊……d san请专心考试吧(考试期间好像不应该上网……[em01])。
回复 支持 反对

使用道具 举报

12

主题

225

帖子

2396

积分

开发组

三心二意魔人

积分
2396
 楼主| 发表于 2005-7-6 00:04:07 | 显示全部楼层
to 3楼的advance san:
我没那么大的野心……[em01]
我对编程啊语言啊游戏系统啊都没什么概念,接触ns的初衷是制作“极尽奢华之能事(笑)”的电子小说(连avg都不是……自己[em04]一个),是在学习的过程中逐渐体会到了一种乐趣,罗列一些简单的命令,再加上一点点变量的计算,居然可以实现之前完全无法想象的功能,这,这就是那传说中的编程的乐趣么?(笑,这一点上还要感谢它的日文说明书,如果不是因为看不太懂什么都得反复试才知道的话,我可能没心思琢磨这些东西)

能借由少量的简单明了的命令让我这样的外行人也轻松的体验到这种乐趣,我真得很感谢ns这个引擎和他的作者,还有汉化者和推广者们……[em34]

所以说,目前纯粹是为了“玩”ns而玩ns了……会把一点点心得都贴上来,也不过是为了尽自己的能力展示下ns的可能性,使更多的朋友对这个引擎感兴趣……

p.s.我的本行是美工……不打算变成程序啊……[em01]

[此贴子已经被作者于2005-7-6 0:30:17编辑过]
回复 支持 反对

使用道具 举报

125

主题

288

帖子

1387

积分

⑥精研

积分
1387
发表于 2005-7-6 03:57:59 | 显示全部楼层
啊,不知道我的EADV会不会有这么忠实的用户,我可是指望它把NS踢出中国的啊[em06](开个玩笑而已,别介意呵呵)
回复 支持 反对

使用道具 举报

13

主题

155

帖子

1483

积分

⑥精研

美型才是王道推广者

积分
1483
发表于 2005-7-6 10:51:06 | 显示全部楼层
avc我支持你啊…………
快点让我踢走krkr吧※…………不然我会疯的……==!!
ps 现在犹豫在到底是去继续研究tjs好还是研究伟大的hsp好呢……
[em08][em08]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

发表于 2005-7-6 11:22:32 | 显示全部楼层
以下是引用Advance在2005-7-5 22:46:36的发言:
PS TO D:
理论上除了网络通信外都不需要多线程技术……你说的那个应该叫单步(一个线程是不能同时CALL数个子进程的)


我没说那东西叫多线程,黑看,我写的是单线执行.意思很明白,不可能像RM系列那样拥有可以随时监视按下某个键之类的功能.

PS:关于AVG引擎实现行走,MS是LM2时代就开始有想法的.

麻烦的是这样每张地图的每个图块都要进行个别设定,简直恐怖.

将屏幕分割为N个图块(按钮),当点某个按钮时移动到相应的位置,当本按钮是禁止通行的时候,再进行其他一些设定...当时是因为LM2支持的点选范围只有九个而放弃的.

至于自动寻路...也许需要去寻找点相关资料吧...唉.
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

101

主题

1519

帖子

1万

积分

⑧专业

沉沦。。。。

积分
10217
发表于 2005-7-6 12:19:18 | 显示全部楼层
lm2里面能不能搞这种东西阿?
我不懂NS。
最近正在暗恋的泥潭中。。 沉沦 沉沦 DEEP 沉沦。。。。(突然想到 DEEP V 所以写 DEEP沉沦。。。。我是不是很有文人气质啊口古月~)
回复 支持 反对

使用道具 举报

12

主题

225

帖子

2396

积分

开发组

三心二意魔人

积分
2396
 楼主| 发表于 2005-7-6 12:25:50 | 显示全部楼层
如果advance san的引擎功能不比ns弱,效率还要更高的话,我会毫不犹豫的踢开ns扑向EADV的怀抱的……([em04]……这忠诚度……)
那个,上面说的那些“单x”,别管叫什么,意思是不是一个时间里只能干一件事?反正我学ns的时候就是感觉这里比较讨厌……
还有个怨念就是不支持png这么好使的格式……不过看在自带的压缩工具可以把24位的bmp压缩到原大20%左右的份上,这个也可以忍了……(美工出身的我其实最关心的还是这种问题……[em01])……虽然我还没学会怎么使用压缩包里的图片……[em01]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-4-24 06:14 , Processed in 0.028540 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表