查看: 4440|回复: 7

[原创发布] 游魂野鬼……角色与npc视线(用脚本的)

[复制链接]
梦石
0
星屑
50
在线时间
45 小时
注册时间
2011-6-6
回帖
63
发表于 2011-7-8 13:12:01 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 160445706 于 2011-7-9 11:44 编辑

使用方法:放在game_player后面
调用方法:在设置移动路线的脚本那项里面写上def后面的标签名
欢迎复制、改造

  1. class Game_Character
  2.   def py_eyes
  3.   if @x > $game_player.x
  4.      new_x = @x - $game_player.x
  5.   else
  6.      new_x = $game_player.x - @x
  7.   end
  8.   if @y > $game_player.y
  9.      new_y = @x - $game_player.y
  10.   else
  11.      new_y = $game_player.y - @y
  12.    end
  13.   if (new_y + new_x) >= 10
  14.     @opacity = 35
  15.     end
  16.   if (new_y + new_x) <= 9
  17.     @opacity = 60
  18.     end
  19.   if (new_y + new_x) <= 8
  20.     @opacity = 90
  21.     end
  22.   if (new_y + new_x) <= 7
  23.     @opacity = 120
  24.     end
  25.   if (new_y + new_x) <= 6
  26.     @opacity = 150
  27.     end
  28.   if (new_y + new_x) <= 5
  29.     @opacity = 180
  30.     end
  31.   if (new_y + new_x) <= 4
  32.     @opacity = 210
  33.     end
  34.   if (new_y + new_x) <= 3
  35.     @opacity = 220
  36.   end
  37.   if (new_y + new_x) <= 2
  38.     @opacity = 255
  39.   end
  40. end
  41. def npc_eyes
  42.     if @x > $game_player.x
  43.      new_x = @x - $game_player.x
  44.   else
  45.      new_x = $game_player.x - @x
  46.   end
  47.   if self.y > $game_player.y
  48.      new_y = @x - $game_player.y
  49.   else
  50.      new_y = $game_player.y - @y
  51.    end
  52.   if (new_y + new_x) <= 5
  53.     move_toward_player
  54.     end
  55.   if (new_y + new_x) > 5
  56.     move_random
  57.     end

  58. end
  59. end
复制代码
请问这里是地球吗?是的话告诉我人类在哪。我要灭了他们!
梦石
0
星屑
229
在线时间
596 小时
注册时间
2010-6-21
回帖
1176
发表于 2011-7-8 15:22:33 | 显示全部楼层
给个效果图看看吧
如果我是一个美工就好啦!
回复

使用道具 举报

梦石
0
星屑
93
在线时间
331 小时
注册时间
2010-10-24
回帖
735
发表于 2011-7-8 15:39:01 | 显示全部楼层
主要效果是什么?

点评

具有视觉效果的NPC。  发表于 2011-7-8 16:07
回复

使用道具 举报

虚構歪曲

梦石
0
星屑
354
在线时间
1196 小时
注册时间
2010-12-18
回帖
3842

贵宾

发表于 2011-7-8 16:40:17 | 显示全部楼层
本帖最后由 忧雪の伤 于 2011-7-8 16:47 编辑
  1. class Game_Character
  2.   def auto_ray
  3.     target = equal?($game_player) ? self : $game_player
  4.     x = [@x - target.x, target.x - @x].max
  5.     y = [@y - target.y, target.y - @y].max
  6.     @opacity = [255 - (x + y) * 32, 0].max
  7.   end
  8. end
复制代码


事件,移动规则,自定义,移动路线,脚本,auto_ray。


所以楼主的脚本简洁度还需要加强哦。

点评

我没有拆楼。  发表于 2011-7-8 17:09
哈?  发表于 2011-7-8 17:08
触手自重  发表于 2011-7-8 17:07
拆楼自重啊!  发表于 2011-7-8 17:06
回复

使用道具 举报

老黄鸡

梦石
4
星屑
45788
在线时间
7954 小时
注册时间
2009-7-6
回帖
13338

MZ评测员RM创作大赛01组委会开拓者贵宾

发表于 2011-7-8 17:36:38 | 显示全部楼层
本帖最后由 fux2 于 2011-7-8 17:37 编辑
忧雪の伤 发表于 2011-7-8 16:40


事件,移动规则,自定义,移动路线,脚本,auto_ray。

  1. class Game_Character
  2.   ["x","y"].each {|i| eval"define_method(:f#{i}){@real_#{i}/4}"}
  3.   define_method(:auto_ray){f = equal?($game_player)?self:$game_player
  4.   @opacity = 255-(fx-f.fx).abs-(fy-f.fy).abs}
  5. end
复制代码
0v0温柔渐变透明色

点评

于是他这分明是……  发表于 2011-7-9 15:11
于是你们在比简化么- -  发表于 2011-7-8 18:44
RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

虚構歪曲

梦石
0
星屑
354
在线时间
1196 小时
注册时间
2010-12-18
回帖
3842

贵宾

发表于 2011-7-8 17:48:20 | 显示全部楼层
fux2 发表于 2011-7-8 17:36
0v0温柔渐变透明色
  1. ["x","y"].each {|i| eval"define_method(:f#{i}){@real_#{i}/4}"}
复制代码
喂喂,这东西……
  1. define_method(:auto_ray)
复制代码
……
……
确实比我的好,变成了用像素坐标。不过那东西其实我想过,就是不清楚real到底是啥数,没有除以四……

点评

看的结果和我说的应该是一样的。  发表于 2011-7-8 18:05
0v0看一看不就知道了  发表于 2011-7-8 17:58
回复

使用道具 举报

梦石
0
星屑
50
在线时间
45 小时
注册时间
2011-6-6
回帖
63
 楼主| 发表于 2011-7-9 17:20:27 | 显示全部楼层
抱歉,这里不是比赛场地……

点评

改造也不要太过分了——  发表于 2011-7-11 18:36
0v0主楼不是说“欢迎复制改造吗?”  发表于 2011-7-11 17:51
请问这里是地球吗?是的话告诉我人类在哪。我要灭了他们!
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
32 小时
注册时间
2011-4-8
回帖
19
发表于 2011-7-9 18:46:38 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部