
Lv.1
Ghdgtdgu(Gun7Sum)です。 半身不遂VOCALOID P.
签名:已经被艺术品"折磨"地半身不遂了. 就... 很绝望那种 低浮上. 还是比较喜欢用Kitten 4
在 编程猫图形脚本文字化暂定"喵" 中回复
1.Header
一般情况下认为,如果要表示一个编程猫Kitten脚本,则头部部分的开头必须有这么一句:
Linker : Codemao.KiitenLang
表示脚本环境的核心处理文件.KittenLang表示 Kitten Language,提醒笔者这是使用Kitten架构编辑的语言文件.
如果要连接其他的库,定义使用Linker语句.
Linker [LinkerPack]2019-11-30T10:11:23 点赞:0
在 编程猫图形脚本文字化暂定"喵" 中回复
接下来再讲讲EditConf语句.
EditConf (PackName) {
KeyName = KeyValue
......
}
在KittenLang中,存有大量用于控制的变量,此时使用EditConf可以改变这些全局变量.
指定舞台模式为变量KittenLang.ScrnMode,有以下几个识别模式:
Hall : 竖屏
Toll4s3 : 横屏4:3
Toll16s9 : 横屏16:9
默认值为Hall.则要设定舞台模式为横屏16:9时,可以这么写:
EditConf (Codemao.KittenLang) {
ScrnMode = Toll16s9;
}
明白了吧!
2019-11-30T10:20:40 点赞:0
在 编程猫图形脚本文字化暂定"喵" 中回复
然后是对象:
在编程猫Kitten脚本中,对象是指一个或多个可以承载动作,指令,函数的程序块,一般情况下,对象都有资源文件.
在本图中,背景,障碍物,滑雪编程猫都属于对象的范畴.
声明对象请使用以下格式:
[Public / Private].Object.[ObjectName] : [ResourceName]
Public/Private是对象的属性,一般使用Public,只有在克隆和分裂中声明Private.
ObjectName是对象名,ResourceName是资源名,可以为Null.
指定一个脚本中至少有一个背景对象(Background),还应有角色对象(User).
如果对象在屏幕上的表述如下图所述:
则应该这么描述:
//(暂时指定 // 为注释符)
Public.Object.Background : Null;
Public.Object.Codemao : ResCodemao; //它应该在资源表中声明2019-11-30T10:37:39 点赞:0
在 编程猫图形脚本文字化暂定"喵" 中回复
然后是资源表.
资源表是声明脚本中使用的资源的.它应该比对象表提前.
声明对象请使用以下格式:
[ResPath]\Resource.[ResMode].[ResName] = [ResDeName]
ResPath指资源目录,一般情况下,指自己的资源素材库,即$(YourSelf),当然也可以指定到别的地方去.
ResMode指资源模式,暂定有如下模式:
Object -- 对象用
BackObject -- 背景专用
Media -- 音乐资源
Picture -- 图片资源
ResName指资源的本地名称,ResDeName指资源的指定名称.
所以如果要指定一个Object型的"编程猫"资源,应使用如下语句:
$(YourSelf)\Resource.Object.编程猫 = ResCodemao;2019-11-30T10:46:12 点赞:0
在 编程猫图形脚本文字化暂定"喵" 中回复
所以到此为止,程序变成了:
Linker : Codemao.KittenLang
$(YourSelf)\Resource.Object.编程猫 = ResCodemao
Public.Object.Background : Null;
Public.Object.Codemao : ResCodemao;
Public Subject InitLang {
KrnlSys.Reg(Codemao, Background);
}
在这里,Subject指核心层专用的程序段,创作脚本不得使用.InitLang是程序最开始的设置过程.
这里是第一次出现函数,讲解一下:
[Return] = [ObjectCoreName].Format([Input])
ObjectCoreName为对象名,本例是核心系统KrnlSys.Format是函数名,本例是Reg.Input是输入值 ,Return是返回值,都可以没有.
再说回Reg函数.
Void KrnlSys.Reg (Object User, Object Backgruond)
意为注册一个对象到另一个对象(通常是背景对象),有了它,编程猫就可以顺利的出现在屏幕上了.
2019-11-30T10:58:21 点赞:0
在 编程猫图形脚本文字化暂定"喵" 中回复
接下来再讲对象块吧.所谓对象块,指执行某些操作之后,会自动执行的程序段.它们需要自己编写.
Note:这次我吧主角色换成了绿豆,因为他是表示笔者的...(笑)
比如,我们设主对象名为Gun7Sum,有以下脚本:
则设"开始"点击的对象块为"Start",则应有:
Gun7Sum.Start {
Gun7Sum.Skin.Ask("I'm Gun7Sum.");
}
暂时指定对话函数的格式为:
Void [ObjectName].Skin.Ask (String s)
所以,我们可以让小绿豆说第一句话了!(笑)
2019-11-30T14:52:52 点赞:0
在 编程猫图形脚本文字化暂定"喵" 中回复
当然我可以到此打止,但事实上存在这样的脚本:
这时,指定使用ObjectIf语句,格式如下:
[ObjectName].ObjectIf (Trim)
{
......
}
Trim指表达式,用法和接下来要讲的If差不多.
于是,上面的脚本可以写成:
Gun7Sum.ObjectIf(Gun7Sum.Check == 1) {
Gun7Sum.Skin.Ask("I'm Gun7Sum.");
}
此处出现的Gun7Sum.Check,是标志位,指定标志位是对象的一些可以由外部操作控制的变量,如Check变量,当我们点击它时,Check的值会设为1,随后回0.
2019-11-30T16:36:45 点赞:0
在 编程猫图形脚本文字化暂定"喵" 中回复
补充说明:现规定InitLang使用以下语句:
Public Subject InitLang {
KrnlSys.Reg(Gun7Sum, Background);
KrnlSys.CommonStart();
}
CommonStart函数是为了照顾一个规则,即必须在启动按钮启动之后才能执行全部对象块.这点大家都懂.
2019-12-01T09:39:36 点赞:0