Project1

标题: 使用代码创建事件时,为什么不显示图片?(已解决) [打印本页]

作者: wangxiaoming    时间: 2023-11-19 15:56
标题: 使用代码创建事件时,为什么不显示图片?(已解决)
本帖最后由 wangxiaoming 于 2023-11-22 16:58 编辑

使用js代码生成一个事件,控制台能打印出来数据,游戏界面上可以执行事件的内容,但是没有人物行走图。鼠标右键打开菜单再关闭菜单人物行走图就出现了,这是为什么?

code.png (98.65 KB, 下载次数: 16)

生成事件的代码

生成事件的代码

QQ截图20231119155012.png (86.19 KB, 下载次数: 14)

控制台

控制台

QQ截图20231119155105.png (218.08 KB, 下载次数: 13)

游戏界面

游戏界面

作者: 余杭    时间: 2023-11-19 17:29
地图需要刷新,试一下 js 代码后面再加个  $gameMap.requestRefresh();
作者: 清澈淌漾    时间: 2023-11-19 18:50
把事件在地图显示出来是分两步的
你只做了 Game_Map.prototype.setupEvents这里干的
而行走图是在这步装到地图上的
  1. Spriteset_Map.prototype.createCharacters = function() {
  2.     this._characterSprites = [];
  3.     for (const event of $gameMap.events()) {
  4.         this._characterSprites.push(new Sprite_Character(event));
  5.     }
  6.     for (const vehicle of $gameMap.vehicles()) {
  7.         this._characterSprites.push(new Sprite_Character(vehicle));
  8.     }
  9.     for (const follower of $gamePlayer.followers().reverseData()) {
  10.         this._characterSprites.push(new Sprite_Character(follower));
  11.     }
  12.     this._characterSprites.push(new Sprite_Character($gamePlayer));
  13.     for (const sprite of this._characterSprites) {
  14.         this._tilemap.addChild(sprite);
  15.     }
  16. };  
复制代码

作者: wangxiaoming    时间: 2023-11-20 11:48
余杭 发表于 2023-11-19 17:29
地图需要刷新,试一下 js 代码后面再加个  $gameMap.requestRefresh();

这个方法试过了,不行
作者: wangxiaoming    时间: 2023-11-20 12:02
清澈淌漾 发表于 2023-11-19 18:50
把事件在地图显示出来是分两步的
你只做了 Game_Map.prototype.setupEvents这里干的
而行走图是在这步装到 ...

请问这个该怎么调用?报错:'addChild' of undefined

作者: 仇九    时间: 2023-11-20 12:51
在最后加上这几行:

  1. let sprite = new Sprite_Character(newEventData);
  2. SceneManager._scene._spriteset._characterSprites.push(sprite);
  3. SceneManager._scene._spriteset._tilemap.addChild(sprite);
复制代码

作者: wangxiaoming    时间: 2023-11-20 23:15
仇九 发表于 2023-11-20 12:51
在最后加上这几行:

非常感谢,可以正常使用了




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1