一,LegendForFlashProgramming脚本引擎是什么?
它是一个用ActionScript3.0开发的游戏脚本引擎,游戏里的所有元素都可以由脚本语言来控制,它可以轻松制作一款SLG游戏,即使你完全不会写程序,从而降低了游戏开发的难度。
二,该引擎可以制作什么样的游戏?
0.1版本可以制作一款LVG游戏,或者一款小型SLG游戏(类似三国志曹操传系列),计划在之后的版本中会陆续支持大型SLG游戏的开发(类似三国志系列),RPG游戏及MMO-RPG游戏的开发,以及其他新的功能。
三,为什么是0.1版,而不是1.0版?
目前版本虽然能够自由制作一款战棋游戏,但是有些地方还不够便利,比如:
1,目前游戏中的图片,除了地图之外,添加和修改得时候,需要借助FlashProfessional CS系列工具,所以,准备在1.0版本中,改变图片存储形式,提供游戏的图片修改器。
2,游戏中的策略,特技等还不够全,准备在1.0版本中添加大量的策略和武将特技等。
基于以上原因,本次先发布0.1版,以后有机会的话,准备提供专门的游戏剧本编辑器。
四,该引擎作品案例
三国记黄巾之乱
http://blog.csdn.net/lufy_legend/article/details/6889261
五,引擎脚本语法
该引擎使用L#脚本语言0.1版(专门为该引擎而设计的脚本语言),L#脚本语言随引擎更新而更新,下面是该脚本的语法说明,你不需要全看懂,更不用全记住(其实我列出的也不一定全),真正制作游戏的时候,不一定全都用到,如何用该脚本来制作游戏,会另外提供详细的教程,用到的时候再详细了解即可。
L#脚本基本语法
一,代码注释
在L#语法中,用“//”可以注释一行代码,用“/**/”可以注释多行代码。
例如下面的代码,只有第一行有效:
Button.add(-,btnstart,游戏开始,280,270,btnup,btnover,btnover,#ffffff);
//Button.add(-,btnload,读取进度,280,310,btnup,btnover,btnover,#ffffff);
/*
Button.add(-,btnset,环境设定,280,350,btnup,btnover,btnover,#ffffff);
Button.add(-,btnbuy,合作伙伴,280,390,btnup,btnover,btnover,#ffffff);
Button.add(-,btnover,关闭游戏,280,430,btnup,btnover,btnover,#ffffff);
*/
二, 变量操作
1,变量赋值
Var.set(name,value);
参数:变量名,值
例:Var.set(n1,100); Var.set(n2,"abc");Var.set(n2,abc);
注意,在L#中,字符串"abc"和abc,其实是不相等的
2,变量使用
@+变量名
例:if(@test==0);
三,条件语句if
if语句以if开头,以endif结束,每一个分句用";"结束
例:
if(@test==0);
Var.set(backWidth,100);
elseif(@test==1);
Var.set(backWidth,400);
else;
Var.set(backWidth,700);
endif;
说明:如果变量test等于0,则变量backWidth等于100,如果变量test等于1,则变量backWidth等于400,否则变量backWidth等于700
四,goto语句
1,定义Mark.married;(married是任意自定义名称)
2,Mark.goto(married);可以跳转到定义的位置
参数:自定义名称的位置
五,Load:文件Load类,用来读取文件和图片
1,Load.script(path);
载入脚本文件
参数:脚本文件路径,例:data/script/Main.lf
2,Load.img(name,path);
载入图片
参数:载入图片文件后的数据名,图片路径
六,function:添加方法,以endfunction;结束,格式如下
function btn01click();
Text.windChange(talk,30歳以上の方ですね!);
Layer.remove(select);
endfunction;
七,Call:调用方法
Call.btn01click();
八,Wait:游戏暂停,进入等待
1, Wait. click();
等待鼠标点击
2, Wait.time(30);
等待30*10毫秒。
九,Layer:操作层
1,Layer.add(-,name,0,0);
添加层
参数:层名(如果是-,则添加到基层上),添加层名,添加层坐标
2,Layer.remove(name);
移除层
参数:移除层名
3,Layer.clear(name);
移除该层上的所有子元件
参数:移除层名
4,Layer.clear(name);
移除该层上的所有子元件
参数:移除层名
5,改变透明度
Layer.transition(name,fadeIn,0.1);
参数:层名,类型,速度
Layer.transition(name,fadeOut,0.1);
参数:层名,类型,速度
Layer.transition(name,fadeTo,0.1,0.5);
参数:层名,类型,目标透明度,速度
十,Img:图片操作类
1, Img.add (-,logoimg,logo,0,0,800,480,1);
显示一张图片
参数:所在层,图片名,图片数据名,坐标x,坐标y,宽,高,透明度
2, Img.changeData(backimg,backdata01);
改变图片数据
参数:图片名,图片数据名
3, Img.remove(img);
移除图片
参数:图片名
4, Img.moveTo(gril,400,150,10);
移除图片
参数:图片名,移动目的地x,移动目的地y,移动速度
5, 改变透明度
Layer.transition(name,fadeIn,0.1);
参数:层名,类型,速度
Layer.transition(name,fadeOut,0.1);
参数:层名,类型,速度
Layer.transition(name,fadeTo,0.1,0.5);
参数:层名,类型,目标透明度,速度
十一, Button:按钮操作类
1, Button.add(select,btn01,男性,0,10,selectbtnup,selectbtnover,selectbtnover,#ffffff);
添加一个按钮
参数:所在层,按钮名,按钮文字,按钮图片up状态,按钮图片over状态,按钮图片down状态,按钮文字颜色
2, Button.remove(btn01);
移除图片
参数:图片名
3, Button.mousedown(btn01,btn01click);
添加按钮MOUSE_DOWN事件
参数:按钮名,方法名
4, Button.mouseup(btn01,btn01click);
添加按钮MOUSE_UP事件
参数:按钮名,方法名
5, Button.mouseover(btn01,btn01click);
添加按钮MOUSE_OVER事件
参数:按钮名,方法名
6, Button.mouseout(btn01,btn01click);
添加按钮MOUSE_OUT事件
参数:按钮名,方法名
十二, Text:文字操作类
可以直接全部显示,也可以逐字显示文本
1, Text.label(talk,name01,[lufy ],120,360,15,#ffffff);
显示文本
参数:层名,文本名,文本信息,坐标x,坐标y,字体大小,字体颜色
2, Text.labelChange(name01,[??? ],15,#ff0000);
改变文本信息
参数:文本名,文本信息,文字大小,文字颜色
3, Text.wind(talk,talk,こんにちは!「legendゲーム世界」にようこそ!<spanclass='red'>lufy</span>と申します。これから、L#スクリプトでノベルゲームを作りましょう。,120,380,380,13,20);
添加文本,逐字显示
参数:层名,文本名,文本信息,坐标x,坐标y,文本框宽度,字体大小,逐字显示速度
在逐字显示文本时,可以利用L#中的css来改变个别文字的颜色等,如<span class='red'>lufy</span>表示lufy这个字母显示为红色,其他几种颜色共有red,yellow,green,blue,pink,black
十三, 还有小型SLG对应的所有脚本,大类约20个,每个类中方法若干,这些会在接下来的SLG教程里面进行详细的介绍。
六,制作Hellow World小程序。
首先你需要SanguojiForPC.swf文件,你可以下载由此引擎制作的游戏三国记黄巾之乱,使用里面的SanguojiForPC.swf,或者下载此引擎制作的其他的一些DEMO等。
1, 首先建立一个文件夹hellow,然后将SanguojiForPC.swf放到文件夹里面。
2, 在hellow文件夹里面建立一个script文件夹,在script文件夹下建一个文本文件MainSLG.lf,这里将扩展名改成了lf,因为LegendForFlashProgramming引擎用的是L#脚本语言,L#脚本文件扩展名为lf。
3, 用记事本打开MainSLG.lf,在里面添加下面一行代码
Text.label(-,txt,Hello World !,280,230,30,#000000);
现在打开SanguojiForPC.swf,应该看到我们熟悉的“Hellow World”了。如何用LegendForFlashProgramming来制作LVG游戏
如何用LegendForFlashProgramming来制作SLG游戏