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

Project1

 找回密码
 注册会员
搜索

人物立绘左右切换的问题

查看数: 3824 | 评论数: 9 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-4-5 06:27

正文摘要:

我暂时没有用插件和脚本,直接是显示图片来展示人物的立绘,可是运行的时候发现当人物移动到地图的一侧的时候,会被立绘挡住看不见地图。 想请教一下有没有最好不用脚本或者插件就可以实现【当人物在左侧的时候,立 ...

回复

shantianzu 发表于 2020-4-6 10:36:10
Rarian 发表于 2020-4-5 23:32
问题就在于如何判断角色在画面的位置是否接近边界

因为不同大小的地图的ScreenX的最高值是不一样的,想 ...

那你就这样:
你走到立绘的位置,看你走到那个位置会被立绘挡住。
然后用区域(R图块),从上到下标出立绘的位置。
然后公共事件判定当人物走到区域ID的时候,立绘变换位置。

也就是说在立绘刚好挡住人物的地方画区域,这样在你人物被挡住时正好在区域上并执行移动立绘的公共
事件,应该可以实现你的想法,没有试验,你可以自己试试。

点评

噢对,刚才理解错了。理论上来说确实每个地图只有一个区域会被立绘遮蔽  发表于 2020-4-6 13:23
额……大地图移动到边界时屏幕不是固定了吗?区域画在地图上,找到地图与区域重合的地方画应该可以啊。虽然我没有试验……感觉可行,哈哈  发表于 2020-4-6 13:05
这种方法只限于“小房间”形式的地图。大地图屏幕跟着玩家移动这种区域判定就不好使了。  发表于 2020-4-6 12:37
soulsaga 发表于 2020-4-6 10:19:45
本帖最后由 soulsaga 于 2020-4-6 10:24 编辑
Rarian 发表于 2020-4-5 23:32
问题就在于如何判断角色在画面的位置是否接近边界

因为不同大小的地图的ScreenX的最高值是不一样的,想 ...


这脚本和地图大小无关..只求出画面位置..

点评

是的,但是这个实际上是和事件页的画面X是一个数值  发表于 2020-4-6 14:34
Rarian 发表于 2020-4-5 23:32:56
本帖最后由 Rarian 于 2020-4-6 02:07 编辑
soulsaga 发表于 2020-4-5 23:03
var ScreenX = Math.round($gameMap.adjustX($gamePlayer._x) * $gameMap.tileWidth() + $gameMap.tileWid ...


问题就在于如何判断角色在画面的位置是否接近边界

因为不同大小的地图的ScreenX的最高值是不一样的,想要预留空白的话,每张地图的需要判定的ScreenX值都不一样啊
soulsaga 发表于 2020-4-5 23:03:34
本帖最后由 soulsaga 于 2020-4-5 23:05 编辑

JAVASCRIPT 代码复制
  1. var ScreenX = Math.round($gameMap.adjustX($gamePlayer._x) * $gameMap.tileWidth() + $gameMap.tileWidth() / 2);
  2. var ScreenY = Math.round($gameMap.adjustY($gamePlayer._y) * $gameMap.tileHeight() + $gameMap.tileHeight());

求得玩家在画面中的坐标

点评

事件脚本也可以吧..我也是在日站找到的..  发表于 2020-4-6 13:27
把这个写成插件就能直接通过得出ScreenX 、Y直接得出相关数值了?  发表于 2020-4-6 12:34
Rarian 发表于 2020-4-5 22:40:06
Zeldashu 发表于 2020-4-5 20:33
现成这种在地图上显示立绘的插件一般都是大佬们自己写的,目前还没有发现有任何该功能的外流版本。所以基本 ...

请问那个在地图边缘预留空白地带是指在特意在编辑地图属性的时候,把宽和高多设置出一些么
还有多层立绘出现的透明问题是指什么呢,图层顺序会变乱导致上下层显示的时候出现类似穿模的效果吗?

点评

对,编辑地图时额外开出一个边缘区域预留给立绘。透明问题是两张透明度50%的图片叠加在一起透明度不等于50%。  发表于 2020-4-6 12:36
Zeldashu 发表于 2020-4-5 20:33:55
现成这种在地图上显示立绘的插件一般都是大佬们自己写的,目前还没有发现有任何该功能的外流版本。所以基本不可能白敬到。
但有以下解决方法,也是一些游戏为了解决立绘遮挡问题而给出的:
1.按照楼上的方法来判定角色在屏幕上的位置,一旦进入立绘范围就执行改变立绘位置或透明的的命令。(缺点很明显,多层叠加的立绘一旦透明会出现透明问题,单张立绘倒是没什么所谓)
2.在地图边缘上额外预留出立绘大小的空白地带,这样就不会发生角色被立绘遮挡的情况。(缺点也很明显)
shantianzu 发表于 2020-4-5 12:15:46
我觉得是先获得人物坐标,再对比画面坐标,公共事件判定这俩条件,不知道是否正确,只是我瞎猜的。

或者你设置一个按键,按一下显示,再按一下隐藏,比你这样要省事不少。
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-12-24 00:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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