- 注册时间
- 2005-5-29
- 最后登录
- 2008-6-21
开发组
三心二意魔人
- 积分
- 2396
|
*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
|
|