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

Project1

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

[已经解决] 有办法判定是哪个事件打开了开关吗

[复制链接]

Lv2.观梦者

梦石
0
星屑
896
在线时间
147 小时
注册时间
2020-11-10
帖子
43
跳转到指定楼层
1
发表于 2021-2-5 00:04:55 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
比方我让一个事件打开了1号开关,触发了公共事件的并行处理,

如果我想让打开1号开关的事件显示动画要怎么做呢

Lv2.观梦者

梦石
0
星屑
896
在线时间
147 小时
注册时间
2020-11-10
帖子
43
12
 楼主| 发表于 2021-2-5 22:26:18 | 只看该作者
感谢大家了,把两个脚本结合起来就能有想要的效果了
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36392
在线时间
10789 小时
注册时间
2009-3-15
帖子
4813
11
发表于 2021-2-5 19:27:00 | 只看该作者
本帖最后由 soulsaga 于 2021-2-5 19:35 编辑

RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 操作开关
  3.   #--------------------------------------------------------------------------
  4.   def command_121
  5.     (@params[0]..@params[1]).each do |i|
  6.       $game_switches[i] = (@params[2] == 0)
  7.       character = get_character(0)
  8.       if character && @params[2] == 0
  9.       case i
  10.       when 1
  11.       character.animation_id = 1
  12.       when 2
  13.       character.animation_id = 2
  14.       when 3
  15.       character.animation_id = 3
  16.       when 4
  17.       character.animation_id = 4
  18.       when 5
  19.       character.animation_id = 5
  20.       end
  21.     end
  22. end
  23.   end

评分

参与人数 1+1 收起 理由
风雨流盼 + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36392
在线时间
10789 小时
注册时间
2009-3-15
帖子
4813
10
发表于 2021-2-5 18:09:22 | 只看该作者
某事件变量操作=某事件ID..然后播放该变量的动画..

点评

要用到脚本吗,还是事件就能解决呢 我比较笨没研究出来  发表于 2021-2-5 18:29
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
896
在线时间
147 小时
注册时间
2020-11-10
帖子
43
9
 楼主| 发表于 2021-2-5 17:27:57 | 只看该作者
alexncf125 发表于 2021-2-5 16:16
喔...
我3L的脚本旨在达成「让打开1号开关的事件即时显示一特定动画」...
所以你现在6L说的情況我就不懂 ...

可以了,不过怎么做第二个呢,我试着自己改了下结果动画显示在第一个事件上

点评

分开存在,但也可以同时播放这样吧  发表于 2021-2-5 18:57
你这多个动画是同时存在吗?  发表于 2021-2-5 18:47
差不多,我想做五六个左右  发表于 2021-2-5 18:30
啊?你怎么会弄成不同的开关..那如果是十个事件豈不就得佔用十个开关??  发表于 2021-2-5 18:25
还有打开的开关是不同的  发表于 2021-2-5 18:23
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
26264
在线时间
5355 小时
注册时间
2016-3-8
帖子
1655
8
发表于 2021-2-5 16:16:36 | 只看该作者
本帖最后由 alexncf125 于 2021-2-5 17:56 编辑
风雨流盼 发表于 2021-2-5 15:30
有点懂了,但这样开关打开时只能播放指定的动画,

我想让事件在不同条件下会出现不同的效果,所以放在公 ...


喔...
我3L的脚本旨在达成「让打开1号开关的事件即时显示一特定动画」...
所以你现在6L说的情況我就不懂了...

或许是把3L脚本中的character.animation_id = 1换成
$game_variables[1] = character.id          #1号变量代入character(本事件)的事件编号

之后在公共事件用
if $game_variables[1] > 0          #可以用事件指令代替, 条件分歧 - 1号变量>0时
  $game_map.events[$game_variables[1]].animation_id = 动画ID          #不可用事件指令代替, 此句的意思为:当前地图的x(1号变量)号事件, 播放y(动画ID)号动画
  $game_variables[1] = 0          #可以用事件指令代替, 变量操作 - 1号变量代入0
end
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36392
在线时间
10789 小时
注册时间
2009-3-15
帖子
4813
7
发表于 2021-2-5 16:02:44 | 只看该作者
不用开关用变量记录就好..?

点评

能说更加详细点吗,我原来也试着这样做就不太行的样子  发表于 2021-2-5 16:47
记录成事件ID再在公共事件分岐这土去播放不同动画?  发表于 2021-2-5 16:15
变量怎么记录呢,有什么方法吗  发表于 2021-2-5 16:09
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
896
在线时间
147 小时
注册时间
2020-11-10
帖子
43
6
 楼主| 发表于 2021-2-5 15:30:40 | 只看该作者

有点懂了,但这样开关打开时只能播放指定的动画,

我想让事件在不同条件下会出现不同的效果,所以放在公共事件里,用并行处理和条件分歧做

其实现在遇到公共事件里本事件“显示动画”的时候不会显示

简单说就是想让打开开关的事件被锁定,让并行处理的公共事件可以知道是这个事件

貌似这段脚本有点接近了
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
896
在线时间
147 小时
注册时间
2020-11-10
帖子
43
5
 楼主| 发表于 2021-2-5 14:03:38 | 只看该作者

感谢,就是看不太懂,

还有想要多添加几个开关要在哪改呢

点评

加了些注释, 你看看能懂不, 不懂再问  发表于 2021-2-5 14:32
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5463
在线时间
2562 小时
注册时间
2011-9-27
帖子
1120

极短23参与开拓者

4
发表于 2021-2-5 07:59:56 | 只看该作者
还是尽量养成好的编程习惯。 如果事件中可能触碰到开关,就在事件名称中留个记号。例如 “事件1: switch01”。   
另一方面,在触发开关之前,如果有必要,就把事件id保留到某个变量中,便于公共事件了解 调用者是谁。 例如 “set 变量100(调用者)= 1” 。

顺便说一句:使用 “调用公共事件” 这个命令的时候,动画效果可以针对当前事件的。而且是立即执行。  如果你调整了开关再去触发公共事件,那要等你现在的命令表都执行完了才会执行,而且公共事件就不知道谁是调用者了,所谓“当前事件”就没法用了。   这都是很常用的知识。

点评

嗯,单纯就加动画的话确实只要调用公共事件就可以,可想要加点别的那这个方法就不太好使, 会整个事件页执行完才会显示动画  发表于 2021-2-5 14:09
从平淡走向更平淡。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 06:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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