Project1

标题: 用事件做出了一个电灯电筒的视野系统,想请教几个问题。 [打印本页]

作者: 无节乱串    时间: 2013-5-15 20:34
标题: 用事件做出了一个电灯电筒的视野系统,想请教几个问题。
本帖最后由 无节乱串 于 2013-5-17 13:14 编辑

作用大概是开灯时全亮,而关灯后会因为电筒的开关而现实两张不同透明度的图来覆盖:
这是开着电筒:


这是关了电筒:


电灯的事件:


电筒的事件:



因为不会脚本,我只能在论坛找到图中这个图片坐标跟随主角的脚本改改现用。
现在的情况就是:
1.一开始在未执行过电筒事件的情况下执行电灯事件,显示出来的图片不能跟随主角,就会出现如下情况:

这时候虽然只要执行一次电筒脚本就可以了,但是还是想知道有什么解决办法。(把跟随脚本加入电灯事件会报错)

2.这个事件做粗来的视野(姑且算是)系统在切换地图时会先停留在上一个地图主角所在的位置,直到主角在新地图出现才恢复跟随,这一小段时间差导致"镜头"会停留在一个原本不应该看到的地方导致剧透可能...这个也想求解

例:

原本应该跟着猪脚的镜头君在这里剧透了山洞和开关!!太不厚道了!
作者: 英顺的马甲    时间: 2013-5-16 10:49
解释就太麻烦了,直接上范例==
照明.rar (200.62 KB, 下载次数: 115)
作者: 英顺的马甲    时间: 2013-5-16 18:41
本帖最后由 英顺的马甲 于 2013-5-16 18:43 编辑

这个是新方法,直接插入脚本然后永远把作为光源的那张图片显示在一号就好了==
我果然还是比较擅长脚本==
  1. class Game_Picture
  2.   alias orig_update update unless defined?(orig_update)
  3.   def update
  4.     orig_update
  5.     if self == $game_screen.pictures[1]
  6.       [url=home.php?mod=space&uid=27559]@origin[/url] = 1
  7.       if $game_player.screen_x != @x or $game_player.screen_y != @y
  8.         n = RPG::Cache.character($game_player.character_name,0).height / 8
  9.         @x = $game_player.screen_x
  10.         @y = $game_player.screen_y - n
  11.       end
  12.       case $game_player.direction
  13.       when 8
  14.         [url=home.php?mod=space&uid=124954]@Angle[/url] = 0
  15.       when 6
  16.         @angle = 270
  17.       when 2
  18.         @angle = 180
  19.       when 4
  20.         @angle = 90
  21.       end
  22.     end
  23.   end
  24. end
复制代码





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