您的位置:首页 > 聚焦 >

论加框,减框,异形框 我的看法|环球时讯

2023-05-03 01:07:08 来源:哔哩哔哩

论加框 减框 异形框(一.加框)

首先,框是很常见的。以最简单的角色框来说,框一般具有一下两种特征:

1. 长


【资料图】

这个不难理解,框就是一个近似意义上的长方形,而说到长方形就不得不联想到对角线,距离等等(没学好初中知识的自己滚去学)

再抽象一点可以说成是“两点一线,四线一框”

说白了一个框由四个边组成,当然长边也算

2. 宽

理解了长那么宽也好说了

只不过别把框完全当作框了,当四边形旋转之后的极高与极低是完全不一样的

最后,我们还有一点要注意,方向是最重要也是最让人头大的地方,问题不在绘制而是在于判定,因此抽象的看做一个“平面直角坐标系”,利用公式两点确立一线便可求得每条直线的函数解析式了,因此便可直接带入了。以图形编程的画笔为例可以近似理解为:

绘制框(向编译器声明并做好主函数)

设置画笔粗细(大小)-------函数1

设置画笔颜色

移到原点O 面向角度1        //函数2

重复执行(距离)次         //函数3

{      将面向角度1

行动(距离)步

输出返回值

结束                  

}

以上便是一个边绘制的例子(如果是软件或结束方面的差异就用自己熟悉的来吧,此处只是Xuncha的个人构思)

再打个比方以GMS2为例

绘制的脚本为

Draw_sprite(sgr_pixel,0,x,y)

script_exists(scr);检查脚本是否存在

script_get_name(scr);获取脚本名

script_execute(scr, arg0, arg1, arg2..., etc...);调用脚本

script_execute(scr, array_args, [offset], [num_args]); 使用数组参数调用脚本

注:本人是GMS2新手

学会绘制以后第一步便要学会纯画笔

1. 为什么使用纯画笔

A. 以为软件差异使用纯画笔是为了更好的区分图层,谁也不想整个画面杂乱无章

B. 角色过多反而到后面自己都看不过来了

C. 克隆对内存和计算的要求过大例如:

我要10000个苹果,克隆会单独计算出10000个苹果

而画笔却省略了这一步

2. 图形编程或其他编程语言(C++ java GMS等)

还是强调 此处只是Xuncha的个人构思

回归正题

画笔总之就是可以多层绘制

那么加框减框是如何实现的呢

这很好理解

加框可以理解成加上一个框,例如1个框加1个框等于2个框,我们可以用数据列表来表示:

1. 左上x

2. 左下y

3.右下x

4.右下y

5.方向

这时可能有人要问了,如何让编译器自动识别框的个数呢

难道要设一个框的个数的变量?

不,我们只需要用最简单的除法就可以啊!

但这就要用到一个(框值)了

同上

设置主函数

设置画笔粗细(大小)-------函数1

设置画笔颜色

将框值设为1

重复执行(框)列表的项目数 /  5 )   5为框的项目个数

{

移到(A,B)落笔

移到(C,B)

移到(C,D)

移到(A,D)

移到(A,B)----原点

抬笔

}

备注:此处过于麻烦边简略一些

此时列表信息因该为:

1.左上x  列表的第(框值)+ 1 项   A

2.左上y 列表的第(框值)+ 2 项   B

3.右下x 列表的第(框值)+ 3 项   C

4.右下y 列表的第(框值)+ 4 项   D

5.方向 列表的第(框值)+ 5 项    E

这样,当你的列表里有10个 15个及以上个项时

编译器便会自动识别框的个数,便可完成加框运算

以上仅为我个人观点不喜勿喷

标签:

[责任编辑:renwu001]

最近更新