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

Project1

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

[有事请教] 关于显示图片在角色下地图上的问题

[复制链接]

Lv4.逐梦者

梦石
8
星屑
7823
在线时间
1020 小时
注册时间
2019-5-21
帖子
580

极短25获奖极短24参与极短21参与

跳转到指定楼层
1
发表于 2020-7-23 20:00:31 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
希望能在角色之下、图块和事件之上显示图片,搜了一下显示图片脚本发现好像不能调整Z值
ulds感觉有点麻烦(挠头)有没有事件脚本可以实现这一点呢?
ps并不是要做烛光或者影子,所以这种类型的插件可能不太适合XD

Lv4.逐梦者

梦石
0
星屑
7504
在线时间
1478 小时
注册时间
2018-12-16
帖子
2064
2
发表于 2020-7-23 20:22:36 | 只看该作者
角色之下、圖塊和事件之上顯示圖片.... <--- 這實在難以理解?

可以用圖片說明嗎?

点评

我只是打个比方,并不是真的要做地板花纹hhhh只是实现类似的效果  发表于 2020-7-24 08:55
地板花紋的畫不是放在[圖塊A2]就解決了嗎?  发表于 2020-7-23 22:17
因为做不出效果所以暂时没有图片x打个比方,我想做出地板上的花纹,就希望花纹的图片能被角色踩在脚下,又要覆盖在地板图块上面  发表于 2020-7-23 21:06
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

梦石
18
星屑
12191
在线时间
2049 小时
注册时间
2012-12-12
帖子
541
3
发表于 2020-7-23 20:34:35 | 只看该作者
角色不动的话,可以用图片做个伪角色。
如果角色要动,还是建议用ulds来实现,这已经是比较简单的方法啦(。

点评

ULDS有範例工程? 有載點嗎?  发表于 2020-7-25 00:52
?ULDS有范例工程,中文名“无限图层”,你只需把图片概念Pictures转化为背景图层Parallaxes,想加多少层都没问题。  发表于 2020-7-24 17:38
不会吧(ΩДΩ)那咋搞啊,莫的教程可咋玩哦(拍腿)  发表于 2020-7-24 14:30
葱你名字怎么隐形啦  发表于 2020-7-24 13:31
那些使用方法不是都只有一個圖層.而沒有多個動態圖層的使用DEMO?一使用多個動態圖層.就一堆問題.  发表于 2020-7-24 13:11

葱兔の游戏列表 (´・ω・`)
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33692
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

4
发表于 2020-7-25 10:38:15 | 只看该作者
做地板花纹的话,图片是不会随着地图的卷动而更新坐标的。
至于将图片显示到地板之上,角色之下,那只是更改一下图片的 parent 的简单问题。

点评

并不是做地板花纹啦我就打个比方hhh请问parent具体是怎么操作呢,可以请教一下嘛XD  发表于 2020-7-25 12:17
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1435
在线时间
160 小时
注册时间
2020-4-26
帖子
152
5
发表于 2020-7-25 11:05:23 | 只看该作者
如下图,因为图片与角色的组别不同,所以即使更改z也没有用

点评

啊这……不带这么玩的!x  发表于 2020-7-25 11:20
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33692
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

6
发表于 2020-7-25 12:58:54 | 只看该作者
两个图层兜转一下就行了。
  1. //==================================================================================================================
  2. Game_Picture.prototype.isSpecialDisplay = function() {
  3.     return this._specialDisplay;
  4. };
  5. Game_Picture.prototype.changeSpecialDisplay = function(state) {
  6.     this._specialDisplay = !$gameParty.inBattle() && state;
  7. };
  8. //==================================================================================================================
  9. var XR_SDPicture_Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
  10. Game_Interpreter.prototype.pluginCommand = function(command, args) {
  11.     XR_SDPicture_Game_Interpreter_pluginCommand.call(this, command, args);
  12.     if (command === 'StartSpecialDisplay') {
  13.         $gameScreen.picture(+args[0]) && $gameScreen.picture(+args[0]).changeSpecialDisplay(true);
  14.     }
  15.     if (command === 'FinishSpecialDisplay') {
  16.         $gameScreen.picture(+args[0]) && $gameScreen.picture(+args[0]).changeSpecialDisplay(false);
  17.     }
  18. };
  19. //==================================================================================================================
  20. Sprite_Picture.prototype.setSpecialDisplayed = function(state) {
  21.     this._specialDisplayed = state;
  22. };
  23. var XR_SDPicture_Sprite_Picture_update = Sprite_Picture.prototype.update;
  24. Sprite_Picture.prototype.update = function() {
  25.     XR_SDPicture_Sprite_Picture_update.call(this);
  26.     this.updateSpecialDisplay();
  27. };
  28. Sprite_Picture.prototype.updateSpecialDisplay = function() {
  29.     if (!this.picture()) return;
  30.     if (this.picture().isSpecialDisplay()) {
  31.         !this.visible && this.picture().changeSpecialDisplay(false);
  32.     }
  33.     var type = null;
  34.     if (this._specialDisplayed) {
  35.         if (!this.picture().isSpecialDisplay()) type = 'restore';
  36.     } else {
  37.         if (this.picture().isSpecialDisplay())  type = 'convert';
  38.     }
  39.     if (type) {
  40.         var top = this.parent;
  41.         while (top.constructor !== Spriteset_Map) top = top.parent;
  42.         top[type+'PictureLayers'](this);
  43.     }
  44. };
  45. //==================================================================================================================
  46. Spriteset_Map.prototype.convertPictureLayers = function(pictureSprite) {
  47.     pictureSprite.z = 3;
  48.     pictureSprite.setSpecialDisplayed(true);
  49.     this._pictureContainer.removeChild(pictureSprite);
  50.     this._tilemap.addChild(pictureSprite);
  51. };
  52. Spriteset_Map.prototype.restorePictureLayers = function(pictureSprite) {
  53.     pictureSprite.setSpecialDisplayed(false);
  54.     this._tilemap.removeChild(pictureSprite);
  55.     this._pictureContainer.addChild(pictureSprite);
  56. };
  57. //==================================================================================================================
复制代码


上面的代码写入到插件脚本里。
插件命令: 将5号图片置于地图上角色下 =>  StartSpecialDisplay 5
插件命令: 将显示在地图上角色下的8号图片还原 =>  FinishSpecialDisplay 8
在消除图片时,也会自动还原

点评

今天用的时候出了个小问题,用这个插件指令让图片显示在角色下后,会出现无法存档读档的情况,报错cannot read property constructor of null  发表于 2020-8-28 19:47
好哒wwww使用过程中有问题的话我会反馈过来的w  发表于 2020-7-25 14:57
署名随意。 这个是随手写的,未测试,可以各方面多测试下。  发表于 2020-7-25 14:54
想请问一下使用这个插件的话怎么署名呢  发表于 2020-7-25 14:29
成功啦!真的非常谢谢~  发表于 2020-7-25 14:28
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1044
在线时间
251 小时
注册时间
2016-9-2
帖子
126
7
发表于 2020-7-25 23:11:50 | 只看该作者
https://rpg.blue/thread-403790-1-1.html
区域作为图层使用23333

点评

谢谢0v0  发表于 2020-7-26 11:36
不必  发表于 2020-7-26 11:25
啊好厉害!这个试了也可以用!请问使用的话需要署名吗XD  发表于 2020-7-26 09:17
回复 支持 0 反对 1

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-13 03:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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