标题: flash脚本引擎LegendForFlashProgramming0.1版发布
性别:未知-离线 lufy


Rank: 5Rank: 5
组别 校尉
级别 裨将军
功绩 13
帖子 310
编号 347822
注册 2009-11-21


发表于 2011-10-22 09:50 资料 主页 个人空间 短消息 只看该作者
flash脚本引擎LegendForFlashProgramming0.1版发布

一,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
http://www.xycq.net/forum/thread-241379-1-1.html



五,引擎脚本语法
该引擎使用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”了。


更多教程,偶再慢慢更新,可以先看偶签名

[ 本帖最后由 lufy 于 2011-10-22 09:53 编辑 ]


顶部
性别:未知-离线 lufy


Rank: 5Rank: 5
组别 校尉
级别 裨将军
功绩 13
帖子 310
编号 347822
注册 2009-11-21


发表于 2011-10-22 09:51 资料 主页 个人空间 短消息 只看该作者
占楼


顶部
性别:未知-离线 lufy


Rank: 5Rank: 5
组别 校尉
级别 裨将军
功绩 13
帖子 310
编号 347822
注册 2009-11-21


发表于 2011-10-22 09:51 资料 主页 个人空间 短消息 只看该作者
占楼
顶部
性别:未知-离线 lufy


Rank: 5Rank: 5
组别 校尉
级别 裨将军
功绩 13
帖子 310
编号 347822
注册 2009-11-21


发表于 2011-10-22 09:52 资料 主页 个人空间 短消息 只看该作者
占楼
顶部
性别:未知-离线 immeasurable

Rank: 2Rank: 2
组别 百姓
级别 破贼校尉
功绩 1
帖子 62
编号 448865
注册 2011-11-4


发表于 2011-11-12 02:34 资料 短消息 只看该作者
这引擎能放出就好了,我也试试制作
顶部
性别:未知-离线 叶娴珊

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 32
编号 457534
注册 2012-2-21


发表于 2012-3-11 15:38 资料 短消息 只看该作者
没看太懂……
LZ似乎创建了一款全新的游戏引擎,但脚本必须使用LZ所说的L# ?
如果必须使用楼主定义的L#,
那么对于开发人员来说不啻学习一门新的语言,
但是楼主所提及的功能,
比如对图片、事件、帧及流控制……等等……
AS3都提供了很好的解决方案并且容易使用,相比之下,是否学习AS3来的更快也更有效?
长期接触Flash的准开发人员,或As3程序猿,或在国内页游公司供职的高手,
也许直接使用As3开发更为容易吧?
顶部

正在浏览此帖的会员 - 共 1 人在线




当前时区 GMT+8, 现在时间是 2024-11-17 03:34
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.010742 second(s), 9 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP