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

Project1

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

[随意闲聊] 实现那种系统弹窗效果

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1154
在线时间
156 小时
注册时间
2022-8-8
帖子
108
跳转到指定楼层
1
发表于 2022-11-23 09:17:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
使用又一立绘对话框系统时发现的奇妙用法。
因为其切换表情时不能切换到其他角色,切换时会弹出一个“不是同一角色!”的系统提示窗口,点确定后游戏可以继续运行
所以我想可不可以把脚本里的这行“不是同一角色”改成别的文字,然后达到某种跨越第三面墙的代(sheng)入(cao)效果这样的。
使用的时候故意切换立绘弹出窗口,譬如说一个角色是机器人,这样就会有趣的多

大脑.exe无响应.jpg

不过这样做也有坏处,就是只能弹出一个,而且内容只能是一样的
有人想写一个吗()
一点五创RPG游戏DAliY—GOODcollection正在制作中(XvX)
本人的第一个RPG游戏,还有很多不会的地方。现在的日常是修奇怪的幼稚bug。
进度帖:https://rpg.blue/thread-491443-1-1.html
RGSS3(VXACE)脚本收集计划!:https://rpg.blue/thread-491675-1-1.html
因为不知道怎么加图所以这里目前没有图片
邮箱是[email protected],虽然现在还不知道有什么用
#地球ヤバイ
#流石神働け

Lv5.捕梦者

梦石
0
星屑
37789
在线时间
5400 小时
注册时间
2006-11-10
帖子
6546
2
发表于 2022-11-23 09:34:31 | 只看该作者
1, 你没经历过当年的360大战企鹅时代吧, 笑,  玩游戏的时候频繁弹窗的后果, 可下个360全家桶体验下
2, 你不全屏玩游戏的吧, 笑

点评

并且我这个设想一开始就是针对窗口游戏的,毕竟需要全屏的可以设置全屏,不需要的可以继续窗口。全屏也是没办法的事情嘛。  发表于 2022-11-23 09:52
个人觉得360安全卫士目前已经打不过火绒等杀毒软件了……误报错报相当多,连自己写的小程序都报错  发表于 2022-11-23 09:50
回复 支持 反对

使用道具 举报

Lv6.析梦学徒

老鹰

梦石
40
星屑
33407
在线时间
6552 小时
注册时间
2012-5-26
帖子
3178

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

3
发表于 2022-11-23 11:06:48 | 只看该作者
系统提示窗口在f1帮助文档里有写
就是 msgbox(t)
其中 t 是任意字符串
你可以在事件脚本里试试写 msgbox("我就要粗暴弹出一个确认框!")

点评

谢谢!等能摸到电脑试着实现下  发表于 2022-11-23 12:03
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
34870
在线时间
4148 小时
注册时间
2007-12-15
帖子
9981
4
发表于 2022-11-23 13:03:30 | 只看该作者
本帖最后由 89444640 于 2022-11-23 13:05 编辑

玩游戏必全屏而且全键盘或者手柄的表示,玩日式rpg你居然敢让我还拿鼠标点确定!

点评

所以我在前面放一个全屏与窗口切换是alt+enter的提示~  发表于 2022-11-23 14:04
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
277
在线时间
32 小时
注册时间
2018-10-1
帖子
16
5
发表于 2022-11-23 21:10:29 | 只看该作者
这种信息框主要是调试用,rmxp的话格式是 p “字符串”(p后有空格) ,就会弹出了。

mv的话可以调用js的输入框,让玩家看到提示再打字互动,这样就不会太唐突。可以用来做一个简单的许愿功能
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
10666
在线时间
906 小时
注册时间
2019-11-5
帖子
2223

极短24参与

6
发表于 2022-11-29 11:22:56 | 只看该作者

  f1里有写吧!?这个功能?

点评

话是这么说,过了一周之后我也觉得这个想法太过菜鸟了()  发表于 2022-11-29 13:28
啊……抱歉没有仔细看帮助文档。下次会了解充分再来的。不过这个帖子里有些有价值的创意,所以不太想删帖子。说不定还有人需要这些创意来着。  发表于 2022-11-29 13:26
风继续吹,不忍远离。年少轻狂,眼神明亮,最好的年纪,最好的时光。希望岁月是一场春梦
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

遠航の猫咪

梦石
3
星屑
22437
在线时间
2335 小时
注册时间
2005-10-15
帖子
1160

开拓者

7
发表于 2022-11-29 12:36:56 | 只看该作者
可以做成沉浸式的,利用游戏本身的对话框,无非就是独占式update而已
以xp为例,将update写在initialize里,
伪代码如下:
  1. class Window_MessageBox < Window_Selectable
  2.     # ● 对话框结果值常量
  3.     DR_NONE             = 0               # 无效 值
  4.     DR_OK               = 1               # 确定 值
  5.     DR_CANCEL           = 2               # 取消 值
  6.     DR_ABORT            = 3               # 中止 值
  7.     DR_RETRY            = 4               # 重试 值
  8.     DR_IGNORE           = 5               # 忽略 值
  9.     DR_YES              = 6               # 是 值
  10.     DR_NO               = 7               # 否 值
  11.     # ● 对话框按钮组合,完全仿真系统对话框的所有组合
  12.     MB_OK               = [DR_OK]         
  13.     MB_OC               = [DR_OK, DR_CANCEL]
  14.     MB_ARI              = [DR_ABORT, DR_RETRY, DR_IGNORE]
  15.     MB_YN               = [DR_YES, DR_NO]
  16.     MB_YNC              = [DR_YES, DR_NO, DR_CANCEL]
  17.     MB_RC               = [DR_RETRY, DR_CANCEL]
  18.   attr_reader   :result                   # 对话框结果返回值
  19.   def initialize(text, caption, buttons = MB_OK, icon_name = "", index = 0)
  20.     super(0, 0, 640, 480)
  21.     # 把窗口上的东西画出来
  22.     create_contents
  23.     refresh
  24.     # 把按钮的光标矩形定义好
  25.     self.index = index
  26.     # 对话框置顶并隐藏
  27.     self.z += 9999
  28.     self.opacity = 0
  29.     # 独占更新
  30.     loop do
  31.       Graphics.update
  32.       Input.update
  33.       update
  34.       break if @result != DR_NONE and self.opacity == 0
  35.     end
  36.     # 释放
  37.     dispose
  38.   end
  39.   def update
  40.     if self.opacity < 255 and @result == DR_NONE
  41.       self.opacity += 15
  42.       return
  43.     end
  44.     # 处理左右键,移动光标选项
  45.     # 处理B和C键,设置@result返回值
  46.     if self.opacity > 0 and @result != DR_NONE
  47.       self.opacity -= 15
  48.       return
  49.     end
  50.   end
  51. end
复制代码

调用的时候直接像vc++那样
  1. #只提示,不要返回值
  2. Window_MessageBox.new(msg, "提示“)

  3. #需要(不同的)按钮返回值就可以
  4. if Window_MessageBox.new(msg, "提示", MB_YNC).result == DR_YES then
  5.   #......
  6. end
复制代码

点评

啊……仔细看了看结构确实是相似的!!感谢前辈指点了,我回去就试一试这个效果。  发表于 2022-11-29 22:58
xp脚本直接丢va里,不少会有惊喜唷。很多能直接用呢  发表于 2022-11-29 17:55
看了一下,框架确实是可行的……。虽然我用的是VA,用不上啦。  发表于 2022-11-29 13:36
SailCat (小猫子·要开心一点) 共上站 24 次,发表过 11 篇文章 上 次 在: [2006年01月28日11:41:18 星期六] 从 [162.105.120.91] 到本站一游。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-25 22:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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