| jiaming's profile+KAMINLESS+BlogListsNetwork | Help |
|
|
6/8/2006 限时LRCLICK*define
game *start mov %1,3000 erasetextwindow 0 文字。
*clickwait btntime %1 btnwait2 %0 if %0=0 goto *lclick if %0=-1 goto *rclick if %0=-2 goto *timeout *lclick rmode 0 左@ textclear reset *rclick
rmode 0 右@ textclear reset *timeout rmode 0 textclear 超时@ textclear reset 6/1/2006 想象明星志愿123*define
game *start mov %22,0
mov %23,0 *loop
for %1=1 to 10 *datecheck
if %2=0 goto *weekend if %2!=0 goto *weekdays *weekend
第%1天,为周末安排日程。 click textclear goto *onedayover *weekdays
for %3=1 to 3 *peopletimescheck
if %3=1 goto *p1 if %3=2 goto *p2 if %3=3 goto *p3 *onepeopleover
next goto *onedayover *onedayover
add %2,1 if %2=8 mov %2,0:goto *datecheck next reset
*p1 gosub *daycheck 第%1天,$1进程,第%3人。 click textclear goto *onepeopleover *p2 if %22=0 goto *onepeopleover gosub *daycheck 第%1天,$1进程,第%3人。 click textclear goto *onepeopleover *p3 if %23=0 goto *onepeopleover gosub *daycheck 第%1天,$1进程,第%3人。 click textclear goto *onepeopleover *daycheck if %2=1 mov $1,"周一" if %2=2 mov $1,"周二" if %2=3 mov $1,"周三" if %2=4 mov $1,"周四" if %2=5 mov $1,"周五" if %2=6 mov $1,"周六" if %2=7 mov $1,"周日" return 5/26/2006 日期显示范例*define
deletemenu
effect 2,4,50
game
*start *dateloop
for %1=1 to 50
gosub *lspdate click csp -1 print 2 next reset
*lspdate if %1<=31 gosub *month5 if %1>=32 && %1<=50 gosub *month6 gosub *datecheck
lsp 0,":s#ff0000$1",110,450
lsp 1,":s#ff0000$2",450,450 print 2 return
*month5
mov $1,"2007年05月" mov %2,%1 itoa2 $3,%2 add $3,"日" if %2<=9 mov $2,"0"
if %2>9 mov $2,"" add $2,$3
add $1,$2 return *month6
mov $1,"2007年06月" mov %2,%1 sub %2,31 itoa2 $3,%2 add $3,"日" if %2<=9 mov $2,"0"
if %2>9 mov $2,"" add $2,$3
add $1,$2 return *datecheck
mov %2,%1 add %2,7 mod %2,7 if %2=1 mov $2,"周二" if %2=2 mov $2,"周三" if %2=3 mov $2,"周四" if %2=4 mov $2,"周五" if %2=5 mov $2,"周六" if %2=6 mov $2,"周日" if %2=0 mov $2,"周一" return 时间参照07年5月1日~6月19日 5/12/2006 rnd2的判断*define game *level1 *test1 *test2 *test3 *test4 *test5 *test6 *test7 *test8 *test9 *test10 *level1check 5/10/2006 当前游戏时间的显示演示版本:nscr261[简体中文版]
;============================
;SAVELOAD时要保存实际的当前游戏时间的代码
;============================
*define
game
*start mov $3,"0" date %0,%1,%2 mov %3,%0 sub %3,10 if %3<0 goto *jishu *jishu itoa2 $0,%0:add $0,"年":add $3,$0 itoa2 $1,%1:add $1,"月":add $3,$1 itoa2 $2,%2:add $2,"日":add $3,$2 mov $0,$3 lsp 1,":s#FFFFFF$0",50,100 print 1 click
end ;============================
;代码如上
;============================ 我眼睛不好
玩了N天NS
才发现有itoa2这个代码
终于从乱码的生活里摆脱出来
【itoa2】
itoaと同様に数値を文字列に変換しますが、 この命令では全角文字列になります。 2/19/2006 制作BAR就是格斗游戏里经常用到的和HP有关的东西 〓BAR的控制 命令:bar 结合print一起使用 bar 0,100,20,200,300,30,100,#ff0000 bar[bar编号(越小越前面)],[现在数值],[窗口内X坐标],[窗口内Y坐标],[宽度],[高度],[最大数值],#RGB
如果要表现出顺滑地增减感的话, 需要结合[for]和[print 1]
BAR的消除 [barclear] [repaint]
〓数字和BAR结合显示 「prnum」 除了没有最大数值的指定,其余同bar 「prnumclear」为消除数字 制作按钮②制作按钮还有另外一种方法
可以先导入和窗口一样大小的图片 其中已经包括各按钮
通过抠图的方式来达到做按钮的效果
采用代码为
btndef
btn
其余判断同前 制作动画lsp命令既可以定义按钮也可以制作动画,以解决NS无法导入GIF图片的问题
一共有3种动画显示模式
lsp 0,":a/6,100,0;image\anime1.jpg",100,100
lsp 1,":a/6,200,1;image\anime1.jpg",245,200 lsp 2,":a/6,150,2;image\anime1.jpg",390,300 /~;里包含的3个数字从左到右意义依次为 「CELL的数字」「1段的显示时间」「LOOP模式」 「CELL的数字」:用于做动画的图片就是将连续动作的图片做在一张图片里.
示例中用到的图片由6段组成,所以填为6;
之前做按钮时的图片由2段组成,所以为2.
「1段的显示时间」:N段中每1段停留的时间;
如果为按钮,则填0
「LOOP模式」共有0~3这4种类型。 如果从第1张CELL到最后1张CELL来显示的话… 0…回到第1张CELL。(无缓冲式循环) 1…到达最后1张CELL后就停下来。 (不循环) 2…以U TURN的方式返回到第1张CELL。(有缓冲式循环) 3…通常显示CELL0(即图片的第1段),有特定指定的时候显示其他CELL。 CELL的指定用命令「cell」。 「cell」之后指定「lsp编号」「CELL编号」即可。 比如说,要显示lsp编号为1的第4段图片的话,写成「cell 1,4」 要配合使用print命令 制作按钮暂时将按钮分为[初始状态]和[被选择状态]
制作按钮的思路:
①先显示[初始状态]的图片
lsp 0,":a/2,0,3;image\kaishi.jpg",220,280
2,0,3为制作按钮时的规定代码
②将图片按钮化
spbtn 0,1
spbtn [图片编号],[按钮编号] 按钮编号最小从1开始定义
③判断是否触摸按钮
触摸按钮的话,显示[被选择状态]
*else
btnwait %0
if %0=0 goto *else if %0=-1 goto *else if %0=1 goto *kaishi %0=0即左键点击了非按钮处
%0=-1即右键点击了窗口任意处
④选择此按钮的话,转到其所对应的分支
如果是用文字来做按钮跳转的话,代码参考为:
lsp 0,":s#ffffff#ffff00开始",260,280 スプライト基础在窗口里显示图片命令lsp
lsp 0,":a;image\yuki.jpg",120,80
「显示图片的编号(自定义)」「显示图片的位置」「图片位于窗口的X坐标」「图片位于窗口的Y坐标」 透过方式有:a;和:c;
要真正显示出图片要用到命令print
要消去图片使用命令csp
要预先导入图片而不显示它的话使用命令lsph 要显示预先导入的图片使用命令vsp
也可以显示带色彩的文字~ lsp 0,":s#FFFFFF雪球",120,80
最多可同时显示50个图片 当有重叠的时候 最早被编辑的对象显示在最前面 1/25/2006 NS变量的应用2#一口气设定很多变量
说实在的这个功能目前对我而言似乎用不到啊...
基本上就是有很多变量要设定的人
对于这个代码会很有感觉^_^
dim ?0[3]
这个代码就是说 设定变量
?0[0]
?0[1]
?0[2]
?0[3]
通常做赋值的代码是
mov ?0[0],10
mov ?0[1],20 mov ?0[2],30 mov ?0[3],40 但是用了movl ?0,10,20,30,40
就可以一口气直接对这些变量同时进行赋值
不仅可以进行一次元(X方向)设定,
还可以进行二次元(X、Y方向)设定。
比如说dim ?0[2][4]
这个代码的意思就是说
它可以利用movl
同时对
?0[0][0]
?0[0][1]
?0[0][2]
?0[0][3]
?0[0][4]
?0[1][0]
?0[1][1]
?0[1][2]
?0[1][3]
?0[1][4]
?0[2][0]
?0[2][1]
?0[2][2]
?0[2][3]
?0[2][4]
赋值
这种格式的变量也可以进行四则运算
如果想给变量起个名字以方便辨认的话也没有问题
改天有那么多变量要设定的话
一定要拿它来试验一下! NS变量的运用1#控制变量的最小值·最大值
在*define和*start之间输入
intlimit %0,0,100 0 为最小值(可自定义)
100为最大值(可自定义)
循环操作
for %0=1 to 10
~
next
变量%0到10(可自定义)为止循环操作for与next之间的内容
%0=1的1为初始值
每循环一次自动加1,如果想自行设定增加的数字,则语法为
for %0=1 to 10 step 2
如果想终止循环的话,在需要终止的地方加上break
参照以下代码:
*define
clickstr "」。!?",2 game *start
for %0=1 to 10 ループ%0回目です。 if %0=5 break next 现在为第%0次循环。 end ※无须使用goto或者select的命令来跳出循环
即使不使用break来跳出循环,循环中所得到的数据也不会改变。
参照以下代码:
*define
clickstr "」。!?",2 game *start
for %0=1 to 10 ループ%0回目です。 next 现在为第%0次循环。 end 1/24/2006 NS变量代码_基础http://ryuji.s1.xrea.com/nscr/nscr2/s3.html 赋值 数值变量用%表示
文字变量用$ 表示 mov %0,50
即为将50代入数值变量0中 mov $0,"うさぎさん"
即为将うさぎさん代入文字变量0中 %%0
假设
mov %0,50
那么 %%0为%50
四则运算
add %0,20
即为将 %0加上20,然后赋值给%0
以次类推
sub(减法)
mul(乘法) div( 除法取整)
mod(除法取余)
add不仅可以做数值的加法,还可以做文字的合并
假设
mov $0,"うさぎさん"
add $0,"かめさん" 那么
[$0]为[うさぎさんかめさん]
其余变量代码
inc %0即为add %0,1
dec %0即为sub %0,1
rnd %0,10即为从0~10里任取一个数字赋值给%0 rnd2 %0,5,20即为从5~20里任取一个数字赋值给%0
全程变量 NS中可以分别设置1000个数值变量和文字变量.
从变量200开始至变量999可指定为全程变量.
这种变量即使结束游戏或者RESET
其所得到的最新的值是不会消失的.
可以利用这种变量的特性来指定游戏的CG读取或者标识游戏进度等等.
*define globalon game *start 全程变数为%200。@ add %200,10 end
给变量取名已方便了解为何变量 在定义区域给变量取名字:
numalias zhongwen,0
即为将0取名为zhongwen 之后对 %zhongwen进行赋值
假设
move %zhongwen,80
那么 [中文分数为%zhongwen分]
就会显示为
[中文分数为80分] |
|
|