天天动画片 > 八卦谈 > ONS 游戏简单的移植方法(九)

ONS 游戏简单的移植方法(九)

八卦谈 佚名 2023-06-08 18:24:24

今天我们要学习的是文字变量,了解什么是Flag及lsp的相关指令。

也叫文字列变量,用语输入文字列的变量

就像这样

$8

文字变量就像“今天要去看的电影是(文字变量)”这样,可以在文章中变化的文字部分。

变数的编号

数字变量和文字变量编号可以是同样的,重复使用也可以。

%7和$7是完全不同的变量。

文字变量,也是分内部变量和外部变量,变量范围,使用方法和之前所说的相同。

(或者说文字变量和数字变量内部变量和外部变量是相同的)

变量用途

用0与1判断是否拥有物品(Flag处理)

数字变量中输入0(无)1(有)的数值,进行到需要判断的时候开启变量确实数值进行判断。

比如说“是否按下开关”

结果

(0)什么也没发生。

(1)出现了暗道。

“是否放过敌人”

结果

(0)敌人死去了,主角遇到危险时无人帮助他。

(1)敌人在主角遇到危险时帮助了他。

这就是被称为Flag判断的做法

可能有的人会说,文字变量有什么用呢?

它的用途

根据不同情况可以变化成不同的台词。

在游戏中,经常有所持道具不同的情况,当台词里出现了道具名称时可以使用文字变量。

使用方法

mov $5,"下午好!"

mov是命令本体,$5是变量名称。

表示将“下午好!”的文字列代入到$3中,需要注意的是文字两边一定要加上这个"",它表示引号中的文字都会被当作文字串。

先举个例子,

;$S1280,720

*define

effect 3,10,200

clickstr "。!",2

game

start

bg "bg/bg01.png",3

mov $4,"冬川心"

$4说我一定会保护你的!

click

end


但是,半角文字无法显示,如果直接写出来,显示出来的东西可能是乱码,如果数值是偶数个数,可以正常显示,奇数个数则不能

当想要将数字变量的数值显示在游戏画面中时:

①先判断数字变量数值之后于文字列中代入对应的全角文字。

②使用将数值转成全角文字的itoa2指令。

itoa2命令

此命令可以将数值(如果直接表示则会显示半角文字)转成全角文字,代入到变量中去。

格式及参数

itoa2 文字变量,数值

举个例子

mov %5,2022;(表示将2022数值代入到变量%5中)

itoa2 $2,%5;(表示将$5里面的数值2022转换成全角文字的2022,代入到$2中)

$2;在游戏画面上显示$2

;游戏画面上会显示2022

————————————

不常用的东西,如果显示立绘不是用ld,可以不看以下这部分。看下一部分

这个人物立绘显示使用的是ld命令

现在说点有关lsp的东西,

改变人物立绘与其他lsp的重叠顺序

在游戏制作中,想要让女主角后面有孔明灯飞上天空的画面,但孔明灯的图像出现在女主角的人物立绘前面就让人困扰。

人物立图的预设范围是0~25号,26号以上的就会显示在人物立绘的后面。

我们可以更改人物立绘的范围,需要使用

humanz命令,请注意,此命令只能在定义区使用。

格式

humanz 数值

举个例子

*define

humanz 70

game

start

humanz是命令本体

70是指定人物立绘的范围。

表示在0~70号的lsp会显示在人物立绘前面,70号之后则在人物立绘后面。

——————————

下一部分

拓展的lsp命令

在ns中追加了新的lsp命令。

特点是可以对图像进行放大,缩小,旋转,左右上下翻转等等。

它和普通的lsp不同,图像的起点位置并不是左上角而是中心

扩大率数值是以整数方向扩大缩小,当输入minus(它的符号是-就是说实际应用要写成-数值,而不是写成minus数值)时,图像就会镜像翻转,当输入100时为等比例(也就是图像大小不变)翻转显示。

回转角的单位是度(°),可以输入0~360的数值,回转方向为逆时针方向。

命令格式

lsp2

lsp2 编号,图像,中心坐标X,中心坐标Y,X轴扩大率,Y轴扩大率,回转角度(默认为α值,省略则为255)

举个例子

lsp2 7,":a;tupian.png",640,360,150,140,45

此命令图片是显示状态。

lsph2

另一个是以隐藏状态载入图像,它就是

lsph2。

命令格式

lsph2 拓展的lsp编号,图像,中心坐标X,中心坐标Y,X轴扩大率,Y轴扩大率,回转角度(默认为α值,省略则为255)

例子

lsph2 7,":a;tupian.png",640,360,150,140,45

和lsp2几乎相同,只是多了一个H,就像lsp命令和lsph命令一样。

csp2

它的清除指令是csp2

格式

csp2 编号

例子

csp2 2

csp -1是清除所有载入及显示的lsp2

msp2

拓展功能的移动图片命令

msp2

格式

msp2 拓展的lsp编号,中心X坐标增减数值,中心Y坐标增减数值,X轴扩大增减数值,Y轴扩大增减数值,回转角度增减数值,不透明度数值(省略为255)

举个例子

msp2 1,20,50,-10,30,7

msp2是命令本体。

1是拓展的lsp2的号码。

20是X轴的坐标增减数值,当想要像相反的方向移动时请输入-20并且加上minus符号的数值。

50是Y轴的坐标增减数值,反方向移动时方法同上。

-10是X轴方向扩大率的增减数值。

30是Y轴方向扩大率的增减数值。

当扩大率的数值经过减法变为负数时,图像就会镜像翻转显示。

7为回转角度的增加数值,数值是正数是逆时针旋转,负数则是顺时针旋转。

当使用这条命令时,必须要使用print刷新命令才能使其显示。

amsp2

使用绝对位置的移动命令

msp2 拓展的lsp编号,中心X坐标增减数值,中心Y坐标增减数值,X轴扩大增减数值,Y轴扩大增减数值,回转角度增减数值,不透明度数值(省略为255)

举个例子

amsp2 1,200,500,-100,300,70

amsp2是命令本体。

1是拓展的lsp的号码。

200是X轴坐标的绝对值。

150是Y轴坐标的绝对值。

此命令使用的是绝对坐标,直接输入了X,Y的坐标值,图像会直接显示在这个坐标的位置。

-100是X轴的绝对数值。

300是Y轴的扩大率绝对数值。

当扩大率为minus数值时,图像会镜像翻转显示,70是旋转角度的数值,根据输入的数值进行逆时针旋转。

这个命令也需要使用print刷新画面命令才能显示出来。

vsp2

它的作用是暂时隐藏或显示的命令

可以将拓展的lsp命令切换为隐藏模式,显示模式。

格式

vsp2 拓展的lsp编号,显示(1)或隐藏(0)

举个例子

vsp2 1,0

vsp2是命令本体。

1是拓展的lsp号码。

0代表Flag,当数值为1时是显示模式,为0时是隐藏模式。

使用这条命令也是要使用print命令的。

allsp2hide

将拓展的lsp全部暂时隐藏或显示的命令。

格式与例子一样

allsp2hide;(暂时隐藏全部的拓展lsp)

allsp2resume(显示全部隐藏的拓展lsp)

好了,今天的教程结束了,也很多,没看懂多看几遍,有什么疑问可以在评论区留言。


本文标题:ONS 游戏简单的移植方法(九) - 八卦谈
本文地址:www.ttdhp.com/article/33191.html

天天动画片声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
扫码关注我们