hewenxie
2009-05-07 17:37:00
[i=s] 本帖最后由 hewenxie 于 2010-1-23 13:03 编辑 [/i]
[b][color=red]1. 利用变量选择指令进行按钮选择[/color][/b][code=amds]@set_var(choice, -1); //我们先设置一个变量choice用于记录按钮选择后的值
@var_select(choice, 2, 按钮一|按钮二); //这里我们先设置出现只有两个选项的问题(切记中英文字符问题)
@boxText(1,20,20,200,150,0,"choice = $(choice)"); //选择后我们将choice的值用框体文字输出。结果是你按按钮一,choice的值是0;按钮二,choice的值将是1
@boxText(1,20,20,200,150,0,"开始三个按钮的演示");
@var_select(choice, 3, 按钮一|按钮二|按钮三); //我们再设置成出现有三个选项的问题
@boxText(1,20,20,200,150,0,"choice = $(choice)"); //将choice的值输出。结果是按按钮一,choice的值是0;按钮二,choice的值将是1;按钮三,choice的值将是2。
@if($(choice) == 0); //这里我们开始根据choice的不同值进行分支操作
@boxText(1,20,20,200,150,0,"您按的是按钮一"); //上一句if判定的是choice值是不是0,是的话将会输出"您按的是按钮一"
@endif(); //用到了if,就一定要记住用endif显示结尾喔
@if($(choice) == 1); //同理,我们就可以根据choice的值判断按的是哪个按钮
@boxText(1,20,20,200,150,0,"您按的是按钮一"); //上一句if判定的是choice值是不是1,是的话将会输出"您按的是按钮二"
@endif();
@if($(choice) == 2);
@boxText(1,20,20,200,150,0,"您按的是按钮三");
@endif();
@unset_var(choice); //choice变量以后不用的话一定要记住把它注销掉,因为系统最高只支持128个变量,不要浪费嘛^_^[/code][b][color=red]2. 脚本间返回与不返回跳转及脚本间的死循环[/color][/b]
脚本一 (script1.spt)[code=amds]@boxText(1,20,20,200,150,0,"这里是脚本一,即将召唤脚本二");
@call(avgFiles/data/script2.spt); //用call带返回跳转指令跳到脚本二执行,系统回记住该位置,待脚本二执行完毕后会回到这里接着执行下面的内容
@boxText(1,20,20,200,150,0,"脚本二已经被封印,回到脚本一啦");
@boxText(1,20,20,200,150,0,"脚本一要离开了,以后的工作都交给脚本三了");
@changeText(avgFiles/data/script3.spt); //不带返回跳转,系统不再自动回到这里执行下面内容,直接跳到脚本三执行。所以一般用于脚本尾部。 [/code]脚本二 (script2.spt)[code=amds]@boxText(1,20,20,200,150,0,"脚本二开始执行了");
@boxText(1,20,20,200,150,0,"露个面就可以了,马上返回去");
=; //注意这个=号很重要,凡是在带返回的跳转到的脚本,结尾都应该用此结束符结尾,不然就返不回去啦! [/code]脚本三 (script3.spt)[code=amds]@boxText(1,20,20,200,150,0,"脚本三开始执行了");
@boxText(1,20,20,200,150,0,"现在以后的工作交给我了");
@boxText(1,20,20,200,150,0,"结成死循环链吧");
@changeText(avgFiles/data/script1.spt); //这里演示了一个多脚本的死循环,即脚本一最后跳到脚本三,脚本三又再跳到脚本一......如此循环执行,不会有终点。 [/code][b][color=red]3. 变量的算术操作[/color][/b][code=amds]@set_var(sd,135689); //设置变量sd 并赋初始值为135689
@set_value($(sd)-135686); //将sd的值减135686 此时sd的值变成3了(算术应该没有问题,汗水)
@boxText(1,20,20,200,150,0,"变量值为$(sd)"); //输出sd值
@set_value($(sd)=8); //这里我们让sd的值直接等于8
@boxText(1,20,20,200,150,0,"变量值为$(sd)");
@set_value($(sd)*8); //将sd值乘以8,sd值变成64
@boxText(1,20,20,200,150,0,"变量值为$(sd)");
@set_value($(sd)/4); //sd除以4,值当然是16。但如果除以10呢,由于本系统并没有加入浮点运算功能,所以结果只保留整数部分6(学过编程的朋友应该早就知道了)
@boxText(1,20,20,200,150,0,"变量值为$(sd)");[/code][b][color=red]4. 脚本的行跳转[/color][/b][code=amds]@boxText(1,20,20,200,150,0,"1");
@boxText(1,20,20,200,150,0,"2");
@jump(1); //跳到下面一行,其实这样的语句没用,不加效果一样要执行下一句
@boxText(1,20,20,200,150,0,"3");
@boxText(1,20,20,200,150,0,"4");
@jump(2); //跳到下面第二行,即跳过输出5这行
@boxText(1,20,20,200,150,0,"5");
@boxText(1,20,20,200,150,0,"6");
@jump(-8); //跳到上面第八行,即到最开始那一句,这样就又变成个死循环了(想解除死循环么,用分支吧)[/code][b][color=red]5. 字体颜色[/color][/b]
指令说明书有作说明,这里再搬过来
字体颜色默认为白色,如要对字体颜色操作,请使用%cX,X为0~9任意数字,对应颜色如下:
1-白色(white),2-红色(red),3-绿色(green),4-蓝色(blue),5-紫色(purple),
6-青色(cyan),7-黄色(yellow),8-淡灰色(light grey),9-深灰色(dark grey),0-黑色(black)
需说明的是用%cX以后字体的颜色都会改变,直到遇到翻页或结束或新的%cX 字体颜色才会变回默认白色或新指定的色。
例子[code=amds]@say(0,0,我是文字,"%c2红%c3绿%4蓝%5紫%6青%7黄%8浅灰%9深灰%0黑%1白");
@boxText(1,20,20,200,150,0,"%c2红%c3绿%4蓝%5紫%6青%7黄%8浅灰%9深灰%0黑%1白");[/code]
[color=red][b]附件为120日元之冬完整游戏脚本。。参考用[/b][/color]
longzusjl
2009-06-06 15:51:28
支持啊,话说遇到一个问题,加载头像一直失败
@bg(avgFiles/bg/bg2,1);
@head(avgFiles/chara/rw2);
@say(0,0,,"这是哪里?");
@say(0,0,,"该不会是迷路了吧......");
@head(avgFiles/chara/rw1);
@say(0,0,,"哎呀");
@head(avgFiles/chara/rw2);
@say(0,0,,"啊!");
头像名称:rw1.bin rw2.bin
请教哪里出现的问题
wcg12315
2010-02-08 22:55:33
看看,不是很懂,第一次看到。
火树银花
2010-11-29 16:58:52
好有爱,,,,,,,,,,,,
quot
2010-12-05 16:09:22
话说查查图形格式先, 大小和色深
wbn1883
2011-01-23 19:06:56
谢谢诶。。。
swordfishx
2011-04-21 20:38:56
谢谢啊
牧濑红莉栖
2011-04-21 21:58:08
怎么被挖坟了…
牧濑红莉栖
2011-04-21 21:58:12
我去二连了…编辑下。顺便来学习下算了。