Project1

标题: 【脚本问题】脚本显示动画问题 [打印本页]

作者: 梦想始终会醒    时间: 2018-3-29 14:04
标题: 【脚本问题】脚本显示动画问题
本帖最后由 梦想始终会醒 于 2018-3-29 14:07 编辑

在 Scene_Title 脚本中写可实现脚本显示动画在游戏画面之中。
  1. @loop_animation = RPG::Sprite.new
  2. @loop_player_animation = RPG::Sprite.new   
  3. @loop_player_animation.loop_animation($data_animations[215])
复制代码


但是到一个新的脚本页写这段代码却失效了.出现找不到的脚本错误.

请问该如何写才是正确用脚本显示动画的呢?
作者: ikki    时间: 2018-3-29 16:20
没看明白LZ要表达的是啥,不过,建议你看下我发的那个R剧的脚本,会对你弄这些有帮助。
作者: 梦想始终会醒    时间: 2018-3-29 16:42
ikki 发表于 2018-3-29 16:20
没看明白LZ要表达的是啥,不过,建议你看下我发的那个R剧的脚本,会对你弄这些有帮助。 ...

就是通过脚本显示数据库10动画。
显示在游戏画面。

作者: ikki    时间: 2018-3-29 16:44
一直显示的动画还是?
作者: 梦想始终会醒    时间: 2018-3-29 17:09
本帖最后由 梦想始终会醒 于 2018-3-29 17:26 编辑
ikki 发表于 2018-3-29 16:44
一直显示的动画还是?


是,但前辈可以到scene_title试一下,我那三条代码。是可行的。
但新的脚本页是不可行的。

你可以复制到新的脚本页里大概就知道问题了。


作者: ikki    时间: 2018-3-29 17:28
梦想始终会醒 发表于 2018-3-29 17:09
是,但前辈可以到scene_title试一下,我那三条代码。是可行的。
但新的脚本页是不可行的。

测试了,放到map里也是正常的啊。
作者: ikki    时间: 2018-3-29 17:34
  1. class Scene_Map
  2.   #--------------------------------------------------------------------------
  3.   # ● 主处理
  4.   #--------------------------------------------------------------------------
  5.   def main
  6.     # 生成活动块
  7.     @spriteset = Spriteset_Map.new
  8.     # 生成信息窗口
  9.     @message_window = Window_Message.new
  10.    
  11.     @loop_animation = RPG::Sprite.new
  12.     @loop_player_animation = RPG::Sprite.new   
  13.    
  14.     # 执行过渡
  15.     Graphics.transition
  16.     # 主循环
  17.     loop do
  18.       # 刷新游戏画面
  19.       Graphics.update
  20.       # 刷新输入信息
  21.       Input.update
  22.       # 刷新画面
  23.       update
  24.       @loop_player_animation.loop_animation($data_animations[5])
  25.       # 如果画面切换的话就中断循环
  26.       if $scene != self
  27.         break
  28.       end
  29.     end
  30.     # 准备过渡
  31.     Graphics.freeze
  32.     # 释放活动块
  33.     @spriteset.dispose
  34.     # 释放信息窗口
  35.     @message_window.dispose
  36.     # 标题画面切换中的情况下
  37.     if $scene.is_a?(Scene_Title)
  38.       # 淡入淡出画面
  39.       Graphics.transition
  40.       Graphics.freeze
  41.     end
  42.   end
复制代码

作者: ikki    时间: 2018-3-29 17:35
这是map的部分代码,也就是update的上边的main。
作者: ikki    时间: 2018-3-29 17:36
效果是只要到地图的界面就会播放一次动画。
作者: ikki    时间: 2018-3-29 17:38
你的这个代码千万不要放到生成界面的前边,那样一定会报错的,因为,还没加载内容呢。
作者: 梦想始终会醒    时间: 2018-3-29 17:51
本帖最后由 梦想始终会醒 于 2018-3-29 17:56 编辑
ikki 发表于 2018-3-29 17:38
你的这个代码千万不要放到生成界面的前边,那样一定会报错的,因为,还没加载内容呢。 ...


对,这问题,那前辈该怎么写才能用在新的脚本页。
我是打算在新的脚本页面,写用脚本显示动画,
作者: 美丽晨露    时间: 2018-3-29 18:25
没有循环和刷新的话是不能显示的,至少要写到class里的update内才有效果。
作者: 梦想始终会醒    时间: 2018-3-29 18:35
美丽晨露 发表于 2018-3-29 18:25
没有循环和刷新的话是不能显示的,至少要写到class里的update内才有效果。

但主要是连显示都没有就出现脚本错误了,语法错误不知道怎么改
作者: guoxiaomi    时间: 2018-3-29 19:37
你报的什么错?如果是找不到 $data_animations 的 [] 方法,就提前载入 $data_animations。
  1. $data_animations ||= load_data('data/animations.rxdata')
复制代码

作者: 梦想始终会醒    时间: 2018-3-29 19:54
ikki 发表于 2018-3-29 16:44
一直显示的动画还是?

刚刚去仔细查看,发现是其他脚本干扰的原因。已解决
非常感谢解答。
作者: 梦想始终会醒    时间: 2018-3-29 19:55
guoxiaomi 发表于 2018-3-29 19:37
你报的什么错?如果是找不到 $data_animations 的 [] 方法,就提前载入 $data_animations。
...

刚刚去仔细查看,发现是其他脚本干扰的原因。已解决
非常感谢解答。
作者: 梦想始终会醒    时间: 2018-3-29 19:57
美丽晨露 发表于 2018-3-29 18:25
没有循环和刷新的话是不能显示的,至少要写到class里的update内才有效果。

刚刚去仔细查看,发现是其他脚本干扰的原因。已解决
非常感谢解答。




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