Skip to content

Commit

Permalink
Big Version
Browse files Browse the repository at this point in the history
  • Loading branch information
LaoshuBaby committed Jan 21, 2021
1 parent 41b9261 commit fa94efe
Show file tree
Hide file tree
Showing 7 changed files with 173 additions and 118 deletions.
6 changes: 1 addition & 5 deletions Code/unigal.sublime-syntax
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,6 @@ contexts:
with_prototype:
- match: (?=</head>)
pop: true
- match: <comment>
push:comment
with_prototype:
- match: (?=</comment>)
pop:true

head:
- match: <src>
Expand All @@ -52,4 +47,5 @@ contexts:
scope: text.xml

comment:
- match: //
- meta_scope: comment.line.unigal
6 changes: 5 additions & 1 deletion Docs/zh_CN/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# UniGal-中文文档
# UniGal-中文文档

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

Expand Down Expand Up @@ -47,6 +47,10 @@

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

## [UniGal-exceptionproposal.md](UniGal-exceptionproposal.md)
UniGal的异常处理提案。用于解决不同引擎间转换不完美的问题和处理错误。
若要详细了解建议移步[Uni-Gal/UniGal-ExceptionProposal](https://github.com/Uni-Gal/UniGal-ExceptionProposal)

## [UniGal-layer.md](UniGal-layer.md)
想看图层的实验性选项,看layer。目前尚不够完善,欢迎您来开荒式的定义。

Expand Down
29 changes: 18 additions & 11 deletions Docs/zh_CN/UniGal-layer.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,26 @@
# UniGal-Layer
# UniGal-Layer

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

<layerlist>
<layer_ID>1</layer_ID>
<layer_ID>2</layer_ID>
<layer_ID>3</layer_ID>
</layerlist>
```xml
<resource type="index">
<layerlist>
<layer_ID>1</layer_ID>
<layer_ID>2</layer_ID>
<layer_ID>3</layer_ID>
</layerlist>
</resource>
```

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

<layer>
```xml
<resource type="layer">
<layer_ID>
图层编号
</layer_ID>
Expand All @@ -41,14 +47,15 @@ Layer是UniGal推出的图层系统
0
</img_ID>
</layer_Image>
</layer>
</resource>
```

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

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

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

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

layerlist呢?
resource喜提结构体和对象的作用,成为最大工具人。~~今年过节不送礼送就定义resource~~
12 changes: 12 additions & 0 deletions Docs/zh_CN/UniGal-main.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
## UniGal的全部原子操作的列表

在您拆分原子操作的过程中,将需要大量的参考其他语言的语法文档。

在此将一部分有官方文档或高度可信文档的引擎的文档贴在[UniGal-reference.md](UniGal-reference.md#各引擎维护团队联系名录)中,供后面拆原子操作的大佬参考。

### 文本处理部分(text)
Expand Down Expand Up @@ -107,6 +108,12 @@ jump和switch等跳转逻辑属于函数,归为code的logic所有
- resource_image
- resource_sound
- resource_layer
- layer_ID
- layer_name
- layer_opacity
- layer_transparent
- layer_Image
- img_ID
- resource_channel
- resource_live2d
- resource_spine
Expand Down Expand Up @@ -288,10 +295,15 @@ jump和switch等跳转逻辑属于函数,归为code的logic所有
</resource>
<resource type="layer">
<!--layer可以同时存放image和video,因为video在某一时刻就是一张图片-->
<!-- layer的内容太长写不下了,可以自己去看UniGal-layer.md -->
<!-- 但是上面的树依然是正常的写出来了 -->
</resource>
<resource type="channel">
<!---->
</resource>
<resource type="index">
<!--index用于存放layerlist和channellist-->
</resource>
<resource type="live2d">
<!---->
</resource>
Expand Down
131 changes: 78 additions & 53 deletions Docs/zh_CN/UniGal-resource.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,20 +57,20 @@ pos没问题,files没问题,opacity建议在图层中引入。图层定义
对Analyse中这一行代码,可以用如下的代码来表示

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

**这段需要修改!这段需要修改!目前的```<layer>```已经算是```<resource>```的一种,不应单独位于```<code>```下面!**

```XML
<?xml version="1.0" encoding="utf-8"?>
<unigal-script>
Expand All @@ -100,8 +98,8 @@ pos没问题,files没问题,opacity建议在图层中引入。图层定义
</head>
<body>
<code>
首先定义一个基本图层0层
<layer>
<!--首先定义一个基本图层0层-->
<resource type="layer">
<layer_ID>
0
</layer_ID>
Expand All @@ -111,19 +109,21 @@ pos没问题,files没问题,opacity建议在图层中引入。图层定义
<layer_opacity>
255
</layer_opacity>
</layer>
//接下来刷新一个有0层的layerlist
<layerlist>
<layer_ID>0</layer_ID>
</layerlist>
</resource>
<!--//接下来刷新一个有0层的layerlist-->
<resource type="index">
<layerlist>
<layer_ID>0</layer_ID>
</layerlist>
</resource>
</code>
<struct>
<count>
1
</count>
</struct>
<code>
//接下来是声明sprite(即创建resource元素)
<!--//接下来是声明sprite(即创建resource元素)-->
<resource type="image">
<image>
<img_ID>
Expand All @@ -136,7 +136,7 @@ pos没问题,files没问题,opacity建议在图层中引入。图层定义
yes
</load>
<image_opacity>
255//默认在BKE中只要声明图片精灵都是255,把它添加到图层中才是图层中的图名都
255<!--//默认在BKE中只要声明图片精灵都是255,把它添加到图层中才是图层中的图名都-->
</image_opacity>
<size>
<x></x>
Expand All @@ -151,16 +151,16 @@ pos没问题,files没问题,opacity建议在图层中引入。图层定义
</count>
</struct>
<code>
//addto是一个函数?
//这一行分为两部分,一个是将图片插入layer,另一个是展示他。
//zorder是什么我还么想好
//第一步,插入图片
<layer>
<!--//addto是一个函数?-->
<!--//这一行分为两部分,一个是将图片插入layer,另一个是展示他。-->
<!--//zorder是什么我还么想好-->
<!--//第一步,插入图片-->
<resource type="layer">
<layer_ID>
0
</layer_ID>
<layer_name>
basic_layer //本打算叫BKengine_default
basic_layer <!--//本打算叫BKengine_default-->
</layer_name>
<layer_opacity>
255
Expand All @@ -170,25 +170,25 @@ pos没问题,files没问题,opacity建议在图层中引入。图层定义
0
</img_ID>
</layer_image>
</layer>
//第二步,改透明度
//无状态确实麻烦,每次都得重新声明一次内存状态
//建议对于这种需要频繁更迭状态的东西,所有字段都是非强制好了,这样可以想改啥改啥?(那这不就是有状态了吗,但起码load和file可以省(不是第一次的时候)
</resource>
<!--//第二步,改透明度-->
<!--//无状态确实麻烦,每次都得重新声明一次内存状态-->
<!--//建议对于这种需要频繁更迭状态的东西,所有字段都是非强制好了,这样可以想改啥改啥?(那这不就是有状态了吗,但起码load和file可以省(不是第一次的时候)-->
<resource type="image">
<image>
<img_ID>
0
</img_ID>
<image_opacity>
255//默认在BKE中只要声明图片精灵都是255,把它添加到图层中才是图层中的图名都
255<!--//默认在BKE中只要声明图片精灵都是255,把它添加到图层中才是图层中的图名都-->
</image_opacity>
<size>
<x></x>
<y></y>
</size>
</image>
</resource>
//第三步,展示
<!--//第三步,展示-->
<action>
<showimage>
<imgname>
Expand All @@ -199,7 +199,7 @@ pos没问题,files没问题,opacity建议在图层中引入。图层定义
</type>
<DoublePoint>
<Point1>
//左上点
<!--//左上点-->
<pos1>
0
</pos1>
Expand All @@ -208,7 +208,7 @@ pos没问题,files没问题,opacity建议在图层中引入。图层定义
</pos2>
</Point1>
<Point2>
//右下点
<!--//右下点-->
<pos1>
image.x
</pos1>
Expand All @@ -227,9 +227,11 @@ pos没问题,files没问题,opacity建议在图层中引入。图层定义
</count>
</struct>
<code>
//新建图层
//但我认为layer的w和h可以不用写,我们的layer都是全屏的(然后这个w和h直接用于修建layer的所有image,在unigal到bke的时候,需要检测一下是否所有图像都是一个大小,一样就把它还原回去
<layer>
<!--//新建图层-->
<!--//但我认为layer的w和h可以不用写-->
<!--我们的layer都是全屏的(然后这个w和h直接用于修建layer的所有image-->
<!--在unigal到bke的时候,需要检测一下是否所有图像都是一个大小,一样就把它还原回去-->
<resource type="layer">
<layer_ID>
10
</layer_ID>
Expand All @@ -239,25 +241,27 @@ pos没问题,files没问题,opacity建议在图层中引入。图层定义
<layer_opacity>
255
</layer_opacity>
</layer>
//此时layerlist发生变化,重新声明
<layerlist>
<layer_ID>10</layer_ID>
<layer_ID>0</layer_ID>
</layerlist>
</resource>
<!--//此时layerlist发生变化,重新声明-->
<resource type="index">
<layerlist>
<layer_ID>10</layer_ID>
<layer_ID>0</layer_ID>
</layerlist>
</resource>
</code>
<struct>
<count>
4
</count>
</struct>
<code>
//准备向旧图层添加一个ID为10的图像
//但是这个图像什么时候定义的?故这个操作应该报错了吧?
//还没写第四句对应的代码
<!--//准备向旧图层添加一个ID为10的图像-->
<!--//但是这个图像什么时候定义的?故这个操作应该报错了吧?-->
<!--//还没写第四句对应的代码-->
</code>
</body>

</unigal-script>
```

# Librian
Expand Down Expand Up @@ -304,12 +308,32 @@ BG {文件名} {淡入時間=1} {位置="0% 0%"} {漸變方法='_淡出'}
</src_engine>
</head>
<body>
<resource type="layer">
<layer_ID>
01
</layer_ID>
<layer_name>
Librian_default
</layer_name>
<layer_opacity>
255
</layer_opacity>
<layer_transparent>
100
</layer_transparent>
</resource>
<resource type="index">
<layerlist>
<layer_ID>01</layer_ID>
</layerlist>
</resource>
<!-- Librian暂无需要预处理的内容,因此直接定义句数就可以 -->
<!-- 不过只要涉及到图像和音频,就有必要提前预定义layer和channel -->
<struct>
<count>
1
</count>
</struct>
<!-- Librian暂无需要预处理的内容,因此直接定义句数就可以 -->
<code>
<resource type="sound">
<sound>
Expand Down Expand Up @@ -346,6 +370,7 @@ BG {文件名} {淡入時間=1} {位置="0% 0%"} {漸變方法='_淡出'}
</body>
</unigal-script>
```
**不过似乎把layer和channel搞混了,明天完善一下channel和example2一块好了**
```
## Examples-2
Expand Down
Loading

0 comments on commit fa94efe

Please sign in to comment.