设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 13516|回复: 28
打印 上一主题 下一主题

[原创发布] 自由图层系统 - FreeLayers 【2015.11.3 18.29.37】

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
119 小时
注册时间
2015-1-5
帖子
139
跳转到指定楼层
1
发表于 2015-10-28 07:16:16 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 MonsterJohnCN 于 2015-11-3 18:40 编辑

FreeLayers 2015.11.3 18.29.37
FreeLayers 2015.11.3 18.29.37.rar (9.71 KB, 下载次数: 407)

修正了一个BUG,这个BUG曾导致基于loopx/loopy的平移动画会出现卡顿的问题。

FreeLayers - 2015.11.1 07.37.04
FreeLayers 2015.11.1 07.37.04.rar (9.74 KB, 下载次数: 181)

本次更新了比较多内容,个人测试基本能正常使用,但不保证不存在没发现的BUG。
如果你在使用本系统的过程中发现了BUG,请及时反馈给我。
谢谢XD

↓ ↓ ↓ 效果展示 ↓ ↓ ↓


更新内容:
【BUG】修复了切换地图时会导致地图崩溃的BUG。
【BUG】修复了在同一地图内使用画面跳转功能时会导致地图崩溃的BUG。
【BUG】修复了在同一地图内使用画面跳转功能时会导致图层数据被初始化的BUG。
【调整】调整Z轴的默认值到40001。
【注释】对脚本本体进行了不完善的中文注释。
【新功能】新增了hue参数,这个参数可以用于预设图像的色相。
【新功能】新增了一系列自定义脚本,这些脚本可以用于动态修改所有图层属性。

新增的脚本:

立即重设任意属性
  • flSetData

参数
  • Z坐标 - 整数
  • 属性名字 - 字符串或变量
  • 新的参数值 - {属性}所允许的数据类型或变量

用法示例
  • flSetData(-1, "fill", true) - 设置Z坐标为-1的图层的fill属性为true
  • flSetData(-1, "fill", "%1") - 设置Z坐标为-1的图层的fill属性为【开关1】的值
  • flSetData(-1, "loopx", 35+44) - 设置Z坐标为-1的图层的loopx属性为35+44,即79
  • flSetData(-1, "loopy", "%2") - 设置Z坐标为-1的图层的loopx属性为【变量2】的值


立即重设内容截取区域
  • flSetContentRect

参数
  • Z坐标 - 整数
  • 原图内容截取区X坐标 - 整数或变量
  • 原图内容截取区Y坐标 - 整数或变量(选填)
  • 原图内容截取区宽度 - 整数或变量(选填)
  • 原图内容截取区高度 - 整数或变量(选填)

用法示例
  • flSetContentRect(-1, 128, 128, 512, 512) - 截取原图坐标(128, 128)到(128+512, 128+512)的内容作为Z轴为-1的图层的显示内容
  • flSetContentRect(-1, "%1", "%2", "%3", "%4") - 截取原图坐标(变量[1], 变量[2])到(变量[1]+变量[3], 变量[2]+变量[4])的内容作为Z轴为-1的图层的显示内容


立即重设图像在游戏中的显示区域/位置
  • flSetShowRect

参数
  • Z坐标 - 整数
  • 图像在游戏地图中的X坐标 - 整数或变量
  • 图像在游戏地图中的Y坐标 - 整数或变量(选填)
  • 图像在游戏地图中的宽度 - 整数或变量(选填)
  • 图像在游戏地图中的高度 - 整数或变量(选填)

用法示例
  • flSetShowRect(-1, 128, 128, 512, 512) - 在游戏地图的(128, 128)到(128+512, 128+512)处显示Z轴为-1的图层的图像
  • flSetShowRect(-1, "%1", "%2", "%3", "%4") - 在游戏地图的(变量[1], 变量[2])到(变量[1]+变量[3], 变量[2]+变量[4])处显示Z轴为-1的图层的图像


将指定Z轴的图层将X、Y轴滚动速度在指定帧数内渐变到指定的值
  • flResetLoopX、flResetLoopY

参数
  • Z坐标 - 整数
  • 渐变所需帧数 - 整数或变量
  • 渐变目标值 - 整数或变量

用法示例
  • flResetLoopX(-1, 600, 96) - 将Z轴为-1的图层的X轴滚动速度在600帧内渐变为96
  • flResetLoopY(-1, "%1", "%2") - 将Z轴为-1的图层的Y轴滚动速度在变量[1]帧内渐变为变量[2]


将指定Z轴的图层的不透明度(可见度)在指定帧数内渐变到指定的值
  • flResetOpacity

参数
  • Z坐标 - 整数
  • 渐变所需帧数 - 整数或变量
  • 渐变目标值 - 整数或变量(0~255)

用法示例
  • flResetOpacity(-1, 600, 128) - 将Z轴为-1的图层的不透明度(可见度)在600帧内渐变为128
  • flResetOpacity(-1, "%1", "%2") - 将Z轴为-1的图层的不透明度(可见度)在变量[1]帧内渐变为变量[2]


将指定Z轴的图层的尺寸、X轴尺寸、Y轴尺寸在指定帧数内渐变到指定的值
  • flResetScale、flResetScaleX、flResetScaleY

参数
  • Z坐标 - 整数
  • 渐变所需帧数 - 整数或变量
  • 渐变目标值 - 数字或变量(1为标准大小)

用法示例
  • flResetScale(-1, 600, 2) - 将Z轴为-1的图层的尺寸在600帧内渐变缩放为2倍大小
  • flResetScaleX(-1, "%1", "%2") - 将Z轴为-1的图层的X轴尺寸在变量[1]帧内渐变缩放为变量[2]
  • flResetScaleY(-1, "%3", "%4") - 将Z轴为-1的图层的Y轴尺寸在变量[3]帧内渐变缩放为变量[4]


将指定Z轴的图层的X、Y轴坐标在指定帧数内渐变到指定的值
  • flResetX、flResetY

参数
  • Z坐标 - 整数
  • 渐变所需帧数 - 整数或变量
  • 渐变目标值 - 整数或变量

用法示例
  • flResetX(-1, 600, 500) - 将Z轴为-1的图层的X坐标在600帧内渐变为500
  • flResetY(-1, "%1", "%2") - 将Z轴为-1的图层的Y坐标在变量[1]帧内渐变为变量[2]


将指定Z轴的图层的图像原点X、Y轴坐标在指定帧数内渐变到指定的值
  • flResetOriginX、flResetOriginY

参数
  • Z坐标 - 整数
  • 渐变所需帧数 - 整数或变量
  • 渐变目标值 - 整数或变量

用法示例
  • flResetOriginX(-1, 600, 200) - 将Z轴为-1的图层的图像原点X坐标在600帧内渐变为200
  • flResetOriginY(-1, "%1", "%2") - 将Z轴为-1的图层的图像原点Y坐标在变量[1]帧内渐变为变量[2]


预加载指定名字的图像,或者指定名字的图像的另一个色相的图像
  • flPreloadBitmap

参数
  • 位图名字 - 字符串或变量(不带文件后缀)
  • 色相环值 - 整数或变量(0~360)(选填)
  • 位图目录路径 - 字符串或变量(位于img内)(选填)(默认为"parallaxes")

用法示例
  • flPreloadBitmap("BlueSky", 180, "parallaxes") - 预加载色相环值为180的"img/parallaxes/BlueSky.png"
  • flPreloadBitmap("BlueSky") - 预加载"img/parallaxes/BlueSky.png"
  • flPreloadBitmap("%1", "%2", "%3") - 预加载色相环值为变量[2]的"img/"+变量[3]+"/"+变量[1]+".png"


预加载指定Z轴的图像,或者指定Z轴的图像的另一个色相的图像
  • flPreloadBitmapIndex

参数
  • Z坐标 - 整数
  • 色相环值 - 整数或变量(0~360)(选填)

用法示例
  • flPreloadBitmapIndex(-1, 180) - 预加载Z坐标为-1的图层的色相环值为180的位图
  • flPreloadBitmapIndex(-1, "%1") - 预加载Z坐标为-1的图层的色相环值为变量[1]的位图




FreeLayers 2015.10.30 01.34.16
FreeLayers 2015.10.29 20.38.31
FreeLayers 2015.10.29 04.42.28
UnlimitedLayers 2015.10.28 07.13.20

评分

参与人数 2星屑 +66 梦石 +1 收起 理由
余烬之中 + 1 原创发布
小传子 + 66 精品文章

查看全部评分

实力跳票,根本停不下来…… | bgpCore.js | 《下一站》2号DEMO | 插件开发无限延期中……正在研制适用性更强的普适模板,不再输出单体插件……

Lv3.寻梦者

梦石
0
星屑
1232
在线时间
1017 小时
注册时间
2011-4-30
帖子
1516
2
发表于 2015-10-28 08:10:23 | 只看该作者
抱走学习。
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

3
发表于 2015-10-28 08:54:15 | 只看该作者
本帖最后由 taroxd 于 2015-10-28 08:57 编辑

https://rpg.blue/thread-384603-1-1.html

为啥都喜欢造这轮子 orz...

另外MV有Z轴设定了,Z轴会在 Tilemap 中排序。默认的图层是0~9,不过可以用小数嘛~ 所以z坐标还是很自由的~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
119 小时
注册时间
2015-1-5
帖子
139
4
 楼主| 发表于 2015-10-28 11:37:16 手机端发表。 | 只看该作者
taroxd 发表于 2015-10-28 08:54
https://rpg.blue/thread-384603-1-1.html

为啥都喜欢造这轮子 orz...

的确看到了tilemap,但tilemap的封装不足,并且在部分画面处理上机制也还不清楚。
如果是满足基础功能的话推荐的url可用,不过如果想拓展点(比如做动态场景),还是得自己动手OTZ
(实际上做这个就是因为url的链接没满足游戏开发需要才弄的↑ ↓)
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
119 小时
注册时间
2015-1-5
帖子
139
5
 楼主| 发表于 2015-10-28 11:40:38 手机端发表。 | 只看该作者
taroxd 发表于 2015-10-28 08:54
https://rpg.blue/thread-384603-1-1.html

为啥都喜欢造这轮子 orz...

ORZ,还以为你贴的是另一个帖子。
求发到这里来一份↑ ↓

不过这样的话,就当我做的版本是另一个分支好了↑ ↓满足不同需求
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
784 小时
注册时间
2013-1-4
帖子
1102
6
发表于 2015-10-28 13:50:05 | 只看该作者
老实说 为啥不直接做个tiledmap的绑定呢
RM-GUI延期。。。最近被黑心老板压迫T_T
二次元少女的shitake,长着长脸,身高165,蓝色卷双马尾,FCUP,瞳色黑色,病气和御宅属性,是天才少女。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
119 小时
注册时间
2015-1-5
帖子
139
7
 楼主| 发表于 2015-10-28 16:27:42 | 只看该作者
墨凌羽 发表于 2015-10-28 13:50
老实说 为啥不直接做个tiledmap的绑定呢

对tilemap特性了解还不够深,所以暂时没用它。
实力跳票,根本停不下来…… | bgpCore.js | 《下一站》2号DEMO | 插件开发无限延期中……正在研制适用性更强的普适模板,不再输出单体插件……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
119 小时
注册时间
2015-1-5
帖子
139
8
 楼主| 发表于 2015-10-29 04:57:14 | 只看该作者
人工置顶,更新为FreeLayers 2015-10-29 04:42:28版。
(BTW:这样不算连帖吧- -
实力跳票,根本停不下来…… | bgpCore.js | 《下一站》2号DEMO | 插件开发无限延期中……正在研制适用性更强的普适模板,不再输出单体插件……
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1232
在线时间
1017 小时
注册时间
2011-4-30
帖子
1516
9
发表于 2015-10-29 08:31:57 | 只看该作者
求大神讲解一下原理。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
119 小时
注册时间
2015-1-5
帖子
139
10
 楼主| 发表于 2015-10-29 11:50:59 手机端发表。 | 只看该作者
汪汪 发表于 2015-10-29 08:31
求大神讲解一下原理。


游戏每次加载游戏地图时必然调用Spriteset_Map类。
因此在每次游戏地图刚刚开始加载时,解析当前地图的备注区,判定是否有自定义图层。
如果有,则在加载默认图层时,将这些自定义图层插入。
你可以看看我代码的Spriteset.prototype.initialize和Spriteset.prototype.createLowerLayer部分。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 12:37

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表