Skip to content

Commit fa94efe

Browse files
committed
Big Version
1 parent 41b9261 commit fa94efe

File tree

7 files changed

+173
-118
lines changed

7 files changed

+173
-118
lines changed

Code/unigal.sublime-syntax

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,6 @@ contexts:
3939
with_prototype:
4040
- match: (?=</head>)
4141
pop: true
42-
- match: <comment>
43-
push:comment
44-
with_prototype:
45-
- match: (?=</comment>)
46-
pop:true
4742

4843
head:
4944
- match: <src>
@@ -52,4 +47,5 @@ contexts:
5247
scope: text.xml
5348

5449
comment:
50+
- match: //
5551
- meta_scope: comment.line.unigal

Docs/zh_CN/README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# UniGal-中文文档
1+
# UniGal-中文文档
22

33
## **【一定要看】**[UniGal-guideline.md](UniGal-guideline.md)
44

@@ -47,6 +47,10 @@
4747

4848
此外,没有特殊规定的话,本名称均遵守首字母大写,在```<head></head>```中的引擎名称应保持与这里一致,作为本框架对大家的官方称呼。
4949

50+
## [UniGal-exceptionproposal.md](UniGal-exceptionproposal.md)
51+
UniGal的异常处理提案。用于解决不同引擎间转换不完美的问题和处理错误。
52+
若要详细了解建议移步[Uni-Gal/UniGal-ExceptionProposal](https://github.com/Uni-Gal/UniGal-ExceptionProposal)
53+
5054
## [UniGal-layer.md](UniGal-layer.md)
5155
想看图层的实验性选项,看layer。目前尚不够完善,欢迎您来开荒式的定义。
5256

Docs/zh_CN/UniGal-layer.md

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,26 @@
1-
# UniGal-Layer
1+
# UniGal-Layer
22

33
Layer是UniGal推出的图层系统
44
这里的图层也是希望能够尽可能引入目前各种引擎中的图层概念
55
比如图层ID,图层透明度,图层属性,图层属于的资源组,等
66
我们希望创造一个足够丰富的图层类来完成这一些
77

8-
<layerlist>
9-
<layer_ID>1</layer_ID>
10-
<layer_ID>2</layer_ID>
11-
<layer_ID>3</layer_ID>
12-
</layerlist>
8+
```xml
9+
<resource type="index">
10+
<layerlist>
11+
<layer_ID>1</layer_ID>
12+
<layer_ID>2</layer_ID>
13+
<layer_ID>3</layer_ID>
14+
</layerlist>
15+
</resource>
16+
```
17+
1318
//ID的顺序就是从上到下的,从1~3,分别逐渐向下。然后需要查询某个layer的信息的时候再随时去查找?
1419
//默认在排序图层的时候,这个上下顺序不一定和大小一一对应,但是每次新建图层的时候,就按照ID大小来确定插入的位置,而不是无脑直接叠最顶上吧。
1520
问:有无必要维护一套layerlist的表吗?只在每个剧本的开头或者结尾手动存储一次layerlist?还是每次发生图层增减的时候都需要重新声明一次?
1621

17-
<layer>
22+
```xml
23+
<resource type="layer">
1824
<layer_ID>
1925
图层编号
2026
</layer_ID>
@@ -41,14 +47,15 @@ Layer是UniGal推出的图层系统
4147
0
4248
</img_ID>
4349
</layer_Image>
44-
</layer>
50+
</resource>
51+
```
4552

4653
问:图层中有无必要引入图像列表(存储一个图层可能存在的多个图像)
4754

48-
(在跳转前后,后一个剧本文件将继承上一个文件的layerlist中的所有图层信息,若有与后序剧本文件的初始状态冲突的,则按后序剧本文件的来)
55+
(在跳转前后,后一个剧本文件将继承上一个文件的layerlist中的所有图层信息,若有与后序剧本文件的初始状态冲突的,则按后序剧本文件的来)(这句挺难理解的)
4956

5057
这样,图层的概念就变成了一个游戏中有一个(祖传的)```<layerlist>```,然后这一个```<layerlist>```里面有若干个```<layer>```,每个```<layer>```中有若干个```<image>```
5158

52-
再问:layer有没有必要做成一种资源?还是让code中多一种类型
59+
此外,layer是一种resource,layerlist是一种index资产,但是index是一种resource
5360

54-
layerlist呢?
61+
resource喜提结构体和对象的作用,成为最大工具人。~~今年过节不送礼送就定义resource~~

Docs/zh_CN/UniGal-main.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
## UniGal的全部原子操作的列表
1010

1111
在您拆分原子操作的过程中,将需要大量的参考其他语言的语法文档。
12+
1213
在此将一部分有官方文档或高度可信文档的引擎的文档贴在[UniGal-reference.md](UniGal-reference.md#各引擎维护团队联系名录)中,供后面拆原子操作的大佬参考。
1314

1415
### 文本处理部分(text)
@@ -107,6 +108,12 @@ jump和switch等跳转逻辑属于函数,归为code的logic所有
107108
- resource_image
108109
- resource_sound
109110
- resource_layer
111+
- layer_ID
112+
- layer_name
113+
- layer_opacity
114+
- layer_transparent
115+
- layer_Image
116+
- img_ID
110117
- resource_channel
111118
- resource_live2d
112119
- resource_spine
@@ -288,10 +295,15 @@ jump和switch等跳转逻辑属于函数,归为code的logic所有
288295
</resource>
289296
<resource type="layer">
290297
<!--layer可以同时存放image和video,因为video在某一时刻就是一张图片-->
298+
<!-- layer的内容太长写不下了,可以自己去看UniGal-layer.md -->
299+
<!-- 但是上面的树依然是正常的写出来了 -->
291300
</resource>
292301
<resource type="channel">
293302
<!---->
294303
</resource>
304+
<resource type="index">
305+
<!--index用于存放layerlist和channellist-->
306+
</resource>
295307
<resource type="live2d">
296308
<!---->
297309
</resource>

Docs/zh_CN/UniGal-resource.md

Lines changed: 78 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -57,20 +57,20 @@ pos没问题,files没问题,opacity建议在图层中引入。图层定义
5757
对Analyse中这一行代码,可以用如下的代码来表示
5858

5959
```xml
60-
<resource type="image">
61-
<image>
62-
<img_ID>
63-
0
64-
</img_ID>
65-
<file>
66-
image/bg/BG25a_1280
67-
</file>
68-
<load>
69-
yes
70-
</load>
71-
//更多的文件属性的信息还没有设计好标签,暂定为文件格式,图像的尺寸等。
72-
</image>
73-
</resource>
60+
<resource type="image">
61+
<image>
62+
<img_ID>
63+
0
64+
</img_ID>
65+
<file>
66+
image/bg/BG25a_1280
67+
</file>
68+
<load>
69+
yes
70+
</load>
71+
<!--更多的文件属性的信息还没有设计好标签,暂定为文件格式,图像的尺寸等。-->
72+
</image>
73+
</resource>
7474
```
7575
如果是BKE这种有图层概念的,并且有一些默认的0图层啊1图层啊这样的定义
7676
那么我们在BKE脚本转换为UniGal-Script的时候,我们需要在每次生成的body的开头就预先init一个layerlist
@@ -88,8 +88,6 @@ pos没问题,files没问题,opacity建议在图层中引入。图层定义
8888
## Translation
8989
首先提醒,我们可能未来将不会按照逐句翻译的形式进行转换,第一行和第二行,sprite的声明和addto存在相同之处的地方,可能会考虑合并,本次依然按照逐句转换实现
9090

91-
**这段需要修改!这段需要修改!目前的```<layer>```已经算是```<resource>```的一种,不应单独位于```<code>```下面!**
92-
9391
```XML
9492
<?xml version="1.0" encoding="utf-8"?>
9593
<unigal-script>
@@ -100,8 +98,8 @@ pos没问题,files没问题,opacity建议在图层中引入。图层定义
10098
</head>
10199
<body>
102100
<code>
103-
首先定义一个基本图层0层
104-
<layer>
101+
<!--首先定义一个基本图层0层-->
102+
<resource type="layer">
105103
<layer_ID>
106104
0
107105
</layer_ID>
@@ -111,19 +109,21 @@ pos没问题,files没问题,opacity建议在图层中引入。图层定义
111109
<layer_opacity>
112110
255
113111
</layer_opacity>
114-
</layer>
115-
//接下来刷新一个有0层的layerlist
116-
<layerlist>
117-
<layer_ID>0</layer_ID>
118-
</layerlist>
112+
</resource>
113+
<!--//接下来刷新一个有0层的layerlist-->
114+
<resource type="index">
115+
<layerlist>
116+
<layer_ID>0</layer_ID>
117+
</layerlist>
118+
</resource>
119119
</code>
120120
<struct>
121121
<count>
122122
1
123123
</count>
124124
</struct>
125125
<code>
126-
//接下来是声明sprite(即创建resource元素)
126+
<!--//接下来是声明sprite(即创建resource元素)-->
127127
<resource type="image">
128128
<image>
129129
<img_ID>
@@ -136,7 +136,7 @@ pos没问题,files没问题,opacity建议在图层中引入。图层定义
136136
yes
137137
</load>
138138
<image_opacity>
139-
255//默认在BKE中只要声明图片精灵都是255,把它添加到图层中才是图层中的图名都
139+
255<!--//默认在BKE中只要声明图片精灵都是255,把它添加到图层中才是图层中的图名都-->
140140
</image_opacity>
141141
<size>
142142
<x></x>
@@ -151,16 +151,16 @@ pos没问题,files没问题,opacity建议在图层中引入。图层定义
151151
</count>
152152
</struct>
153153
<code>
154-
//addto是一个函数?
155-
//这一行分为两部分,一个是将图片插入layer,另一个是展示他。
156-
//zorder是什么我还么想好
157-
//第一步,插入图片
158-
<layer>
154+
<!--//addto是一个函数?-->
155+
<!--//这一行分为两部分,一个是将图片插入layer,另一个是展示他。-->
156+
<!--//zorder是什么我还么想好-->
157+
<!--//第一步,插入图片-->
158+
<resource type="layer">
159159
<layer_ID>
160160
0
161161
</layer_ID>
162162
<layer_name>
163-
basic_layer //本打算叫BKengine_default
163+
basic_layer <!--//本打算叫BKengine_default-->
164164
</layer_name>
165165
<layer_opacity>
166166
255
@@ -170,25 +170,25 @@ pos没问题,files没问题,opacity建议在图层中引入。图层定义
170170
0
171171
</img_ID>
172172
</layer_image>
173-
</layer>
174-
//第二步,改透明度
175-
//无状态确实麻烦,每次都得重新声明一次内存状态
176-
//建议对于这种需要频繁更迭状态的东西,所有字段都是非强制好了,这样可以想改啥改啥?(那这不就是有状态了吗,但起码load和file可以省(不是第一次的时候)
173+
</resource>
174+
<!--//第二步,改透明度-->
175+
<!--//无状态确实麻烦,每次都得重新声明一次内存状态-->
176+
<!--//建议对于这种需要频繁更迭状态的东西,所有字段都是非强制好了,这样可以想改啥改啥?(那这不就是有状态了吗,但起码load和file可以省(不是第一次的时候)-->
177177
<resource type="image">
178178
<image>
179179
<img_ID>
180180
0
181181
</img_ID>
182182
<image_opacity>
183-
255//默认在BKE中只要声明图片精灵都是255,把它添加到图层中才是图层中的图名都
183+
255<!--//默认在BKE中只要声明图片精灵都是255,把它添加到图层中才是图层中的图名都-->
184184
</image_opacity>
185185
<size>
186186
<x></x>
187187
<y></y>
188188
</size>
189189
</image>
190190
</resource>
191-
//第三步,展示
191+
<!--//第三步,展示-->
192192
<action>
193193
<showimage>
194194
<imgname>
@@ -199,7 +199,7 @@ pos没问题,files没问题,opacity建议在图层中引入。图层定义
199199
</type>
200200
<DoublePoint>
201201
<Point1>
202-
//左上点
202+
<!--//左上点-->
203203
<pos1>
204204
0
205205
</pos1>
@@ -208,7 +208,7 @@ pos没问题,files没问题,opacity建议在图层中引入。图层定义
208208
</pos2>
209209
</Point1>
210210
<Point2>
211-
//右下点
211+
<!--//右下点-->
212212
<pos1>
213213
image.x
214214
</pos1>
@@ -227,9 +227,11 @@ pos没问题,files没问题,opacity建议在图层中引入。图层定义
227227
</count>
228228
</struct>
229229
<code>
230-
//新建图层
231-
//但我认为layer的w和h可以不用写,我们的layer都是全屏的(然后这个w和h直接用于修建layer的所有image,在unigal到bke的时候,需要检测一下是否所有图像都是一个大小,一样就把它还原回去
232-
<layer>
230+
<!--//新建图层-->
231+
<!--//但我认为layer的w和h可以不用写-->
232+
<!--我们的layer都是全屏的(然后这个w和h直接用于修建layer的所有image-->
233+
<!--在unigal到bke的时候,需要检测一下是否所有图像都是一个大小,一样就把它还原回去-->
234+
<resource type="layer">
233235
<layer_ID>
234236
10
235237
</layer_ID>
@@ -239,25 +241,27 @@ pos没问题,files没问题,opacity建议在图层中引入。图层定义
239241
<layer_opacity>
240242
255
241243
</layer_opacity>
242-
</layer>
243-
//此时layerlist发生变化,重新声明
244-
<layerlist>
245-
<layer_ID>10</layer_ID>
246-
<layer_ID>0</layer_ID>
247-
</layerlist>
244+
</resource>
245+
<!--//此时layerlist发生变化,重新声明-->
246+
<resource type="index">
247+
<layerlist>
248+
<layer_ID>10</layer_ID>
249+
<layer_ID>0</layer_ID>
250+
</layerlist>
251+
</resource>
248252
</code>
249253
<struct>
250254
<count>
251255
4
252256
</count>
253257
</struct>
254258
<code>
255-
//准备向旧图层添加一个ID为10的图像
256-
//但是这个图像什么时候定义的?故这个操作应该报错了吧?
257-
//还没写第四句对应的代码
259+
<!--//准备向旧图层添加一个ID为10的图像-->
260+
<!--//但是这个图像什么时候定义的?故这个操作应该报错了吧?-->
261+
<!--//还没写第四句对应的代码-->
258262
</code>
259263
</body>
260-
264+
</unigal-script>
261265
```
262266

263267
# Librian
@@ -304,12 +308,32 @@ BG {文件名} {淡入時間=1} {位置="0% 0%"} {漸變方法='_淡出'}
304308
</src_engine>
305309
</head>
306310
<body>
311+
<resource type="layer">
312+
<layer_ID>
313+
01
314+
</layer_ID>
315+
<layer_name>
316+
Librian_default
317+
</layer_name>
318+
<layer_opacity>
319+
255
320+
</layer_opacity>
321+
<layer_transparent>
322+
100
323+
</layer_transparent>
324+
</resource>
325+
<resource type="index">
326+
<layerlist>
327+
<layer_ID>01</layer_ID>
328+
</layerlist>
329+
</resource>
330+
<!-- Librian暂无需要预处理的内容,因此直接定义句数就可以 -->
331+
<!-- 不过只要涉及到图像和音频,就有必要提前预定义layer和channel -->
307332
<struct>
308333
<count>
309334
1
310335
</count>
311336
</struct>
312-
<!-- Librian暂无需要预处理的内容,因此直接定义句数就可以 -->
313337
<code>
314338
<resource type="sound">
315339
<sound>
@@ -346,6 +370,7 @@ BG {文件名} {淡入時間=1} {位置="0% 0%"} {漸變方法='_淡出'}
346370
</body>
347371
</unigal-script>
348372
```
373+
**不过似乎把layer和channel搞混了,明天完善一下channel和example2一块好了**
349374
350375
```
351376
## Examples-2

0 commit comments

Comments
 (0)