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

Project1

 找回密码
 注册会员
搜索

自定义弹窗内容的方法?

查看数: 2558 | 评论数: 9 | 收藏 6
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-9-18 03:47

正文摘要:

本帖最后由 asukalin 于 2021-9-18 03:52 编辑 之前说过,我想在游戏里做一个事项清单: https://rpg.blue/thread-487126-1-1.html 现在参考了教学贴 https://rpg.blue/thread-386506-1-1.html 里的方法,做成了 ...

回复

任小雪 发表于 2021-11-23 07:59:18
尝试了drawFace,然后发现必须运行一次自身或者菜单,图片才会开始显示,啧
任小雪 发表于 2021-9-28 02:24:07
◆改变物品颜色脚本(全游戏并行处理即可):
Window_Base.prototype.drawItemName = function(item, x, y, width) {
    width = width || 312;
    if (item) {
        var iconBoxWidth = Window_Base._iconWidth + 4;
this.changeTextColor(this.textColor(item.meta.color));
        this.drawIcon(item.iconIndex, x + 2, y + 2);
        this.drawText(item.name, x + iconBoxWidth, y, width - iconBoxWidth);
    }
};
◆注释:物品文字颜色
◆注释:this.changeTextColor(this.textColor(item.meta.color));(这句把原引擎中的默认物品颜色为白色的代码替换了,其他都是原文)
:  :这句里面,item代表data里面的物品(包括武器装备的数据),
:  :meta指标签(建议写在注释备注栏里,否则可能不生效,标签符号是<>),
:  :color指标签<>里面的color:里面的具体数据

物品的注释备注部分是下面这样的(例子而已,汉字是多余的,存在或删掉都不影响):
金木水火土水
<color:1>这是蓝色,跟我们对话框写的\c[1]一个意思
金木水火土水

点评

俺寻思之力的结果,有问题不负责  发表于 2021-9-28 02:24
asukalin 发表于 2021-9-21 10:08:06
本帖最后由 asukalin 于 2021-9-21 10:22 编辑
1. 能够像在事件编辑器里面那样随意编辑文本的样式,例如,最后一行单独让“涂红”二字变红或变大。如果还能插入emo图标就更棒了。

已解决。
  1. this.drawTextEx("试着赶在七天之内,全部\\C[2]涂红\\C[0]吧", 0, textH)
复制代码

使用drawTextEx方法而不是drawText,就可以跟在事件编辑器里一样,直接使用\C[2]和\{之类的标记了。
(但是要多打一个反斜杠)

参考:https://rpg.blue/thread-478187-1-1.html

点评

另外,总感觉手动控制的文字大小的\{,它增大缩小的字号有点幅度过大了  发表于 2021-9-22 00:12
有一个问题,textex相比于text,不能自动缩小文字字体大小(指涉及装备品质颜色的情况)  发表于 2021-9-22 00:10
asukalin 发表于 2021-9-21 04:57:29
本帖最后由 asukalin 于 2021-9-21 05:01 编辑
1. 能够像在事件编辑器里面那样随意编辑文本的样式,例如,最后一行单独让“涂红”二字变红或变大。如果还能插入emo图标就更棒了。

这个我还没搞出来

  1. this.drawText("试着赶在七天之内,全部" + "涂红".fontcolor('red') + "吧", 0, textH, textW, 'right');
复制代码

直接这样子不行……
asukalin 发表于 2021-9-21 04:42:43
本帖最后由 asukalin 于 2021-9-21 05:01 编辑

我傻了……
刚刚才想起,JavaScript是编程语言……

2. 随着剧情发展、“任务完成”,列表的文本内容可以变化。

直接在脚本文件里来一个条件语句,就能实现
  1. if ($gameSwitches.value(5)) {
  2.     this.drawText("  1. 第一项【已完成】", 0, textH, textW, 'left');
  3. }
  4. else {
  5.     this.drawText("  1. 第一项", 0, textH, textW, 'left');
  6. }
复制代码

之前居然没想到可以用条件语句,实在太傻了
我去面壁一会儿
asukalin 发表于 2021-9-20 04:28:34
“根据变量,动态调整弹窗显示的信息内容”似乎没有想象中那么容易实现……
RM的弹窗上的文字似乎都是静态的
如果要根据情况显示不同的内容……就要做好几个规格相同、内容稍有不同的弹窗,给玩家带来“内容会变”的错觉?

看来只能在站内找找这方面的弹窗插件了……
RM太糟糕了,怎么连这么简单的功能都没有

点评

好像是有刷新设定的,再抄抄?  发表于 2021-9-20 12:33
asukalin 发表于 2021-9-20 03:56:26
帖子要沉了
小怪兽奇奇侠 发表于 2021-9-18 16:35:12
游戏画风很喜欢
任小雪 发表于 2021-9-18 13:26:37
我的猜测:window是部分和画面,
而scene是总控和具体运作(各个scene之间互相排斥,即开这一个,要先关掉另一个),
而manage又控制着各个scene的开与关。

嗯,都是猜测,俺寻思
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-29 07:55

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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