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

Project1

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

[已经过期] 线形视野系统 ,怎么让触发开关打开同时显示一动画?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
35 小时
注册时间
2008-6-23
帖子
275
跳转到指定楼层
1
发表于 2014-8-19 09:26:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
如果打开触发开关之后事件开始接近角色,我希望事件显示完一个动画后才开始接近角色


线形视野系统
http://www.66rpg.com/articles/4854
HзO

Lv3.寻梦者

梦石
0
星屑
1743
在线时间
485 小时
注册时间
2006-1-7
帖子
1073
2
发表于 2014-8-19 11:33:45 | 只看该作者
制作一个自动执行的事件,事件触发条件为 线性视野的开关为 on时
初从文,三年不中;后习武,校场发一矢,中鼓吏,逐之出;遂学医,有所成。自撰一良方,服之,卒。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
35 小时
注册时间
2008-6-23
帖子
275
3
 楼主| 发表于 2014-8-19 11:44:55 | 只看该作者
白鬼 发表于 2014-8-19 11:33
制作一个自动执行的事件,事件触发条件为 线性视野的开关为 on时

这样设置的话如果地图和事件都比较多就很麻烦,能不能在脚本中统一设置?
HзO
回复 支持 反对

使用道具 举报

Lv2.观梦者 (暗夜天使)

万兽

梦石
0
星屑
597
在线时间
2271 小时
注册时间
2006-11-4
帖子
4868

贵宾

4
发表于 2014-8-19 11:55:47 | 只看该作者
设置里不是有吗?

# 设置触发确认    $game_map.events[@event_id].le_true = true/false
# 功能:该值表示该NPC是否看见了主角,等价于触发开关,默认为false。

在事件里加上这个的判断:
if $game_map.events[@event_id].le_true == true
播放动画
等待帧数
end
未尝试,不负责。

另外,这个脚本效果其实渣爆了。还不如俺这个渣渣的:http://pan.baidu.com/s/1i3uuyTv
不过没有画视线。

评分

参与人数 1星屑 +100 收起 理由
RyanBern + 100 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
35 小时
注册时间
2008-6-23
帖子
275
5
 楼主| 发表于 2014-8-19 13:50:26 | 只看该作者
弗雷德 发表于 2014-8-19 11:55
设置里不是有吗?

# 设置触发确认    $game_map.events[@event_id].le_true = true/false

我希望在脚本中设置,而不是在事件里设置。
我在def see下面添加了一句(红色部分),假设事件1是敌人,当角色接近后事件1确实显示了动画。但是如果在事件1和角色当中加上一个障碍物事件2,虽然角色被障碍物遮住事件1同样会显示动画,我希望事件1没发现角色的时候不要显示动画

  def see
    @le_true = false
    if ($game_player.x-@x).abs<@le_deepness and ($game_player.y-@y).abs<@le_deepness
      difference_x = ($game_player.x - @x).abs
      difference_y = ($game_player.y - @y).abs
      case @direction
      when 2
        return if @le_circle != true and $game_player.y < @y
        unless @le_side and (difference_y == 0 and difference_x == 1)
          return if difference_x.to_f/difference_y > @le_slope
        end
      when 4
        return if @le_circle != true and $game_player.x > @x
        unless @le_side and difference_y == 1 and difference_x == 0
          return if difference_y.to_f/difference_x > @le_slope
        end
      when 6
        return if @le_circle != true and $game_player.x < @x
        unless @le_side and difference_y == 1 and difference_x == 0
          return if difference_y.to_f/difference_x > @le_slope
        end
      else
        return if @le_circle != true and $game_player.y > @y
        unless @le_side and difference_y == 0 and difference_x == 1
          return if difference_x.to_f/difference_y > @le_slope
        end
      end
      if @le_mode == 0
        return if (difference_x ** 2 + difference_y ** 2) > le_deepness ** 2
      end
      @le_true = scan_line
      $game_map.events[@id].animation_id = 98
      if @le_ss and @le_true !=true
        @le_trace[0,0] = -1
      end
    end
  end
HзO
回复 支持 反对

使用道具 举报

Lv2.观梦者 (暗夜天使)

万兽

梦石
0
星屑
597
在线时间
2271 小时
注册时间
2006-11-4
帖子
4868

贵宾

6
发表于 2014-8-19 14:14:57 | 只看该作者
我记得event类下好像没有动画的函数,把这些东西写进character里吧,直接写event是不生效的。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-13 16:46

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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