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

Project1

 找回密码
 注册会员
搜索

写了个坐标判断脚本,有问题

查看数: 1199 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2012-11-13 20:16

正文摘要:

本帖最后由 666sero 于 2012-11-14 17:37 编辑 刚学会脚本,就写了一个用来做射击arpg,但是发现一旦超过两个敌人无论坐标都会一起“被攻击”,找到原因是因为都是(@event.id)所以都是本事件的坐标,但一时想不 ...

回复

沙漠点灰 发表于 2012-11-16 23:21:53
  1. class Interpreter
  2.   def gunxy
  3.     return false unless @event_id
  4.     [2,4,6,8].any?{|i|$game_player.direction==i and [$game_player.x <=> $game_map.events[@event_id].x,$game_player.y<=>$game_map.events[@event_id].y] == Face_Event[i/2]}
  5.   end
  6. end
复制代码
没试过,可能会错
666sero 发表于 2012-11-15 19:57:37
沙漠点灰 发表于 2012-11-14 18:45
lz的原因不知道,不过建议用下面的脚本..若lz需要"枪"的脚本,可再次说明
class Interpreter
  Face_Event = ...

枪能穿透没关系,我只需要一个大概的无bug脚本用来判断坐标
666sero 发表于 2012-11-14 20:01:18
沙漠点灰 发表于 2012-11-14 18:45
lz的原因不知道,不过建议用下面的脚本..若lz需要"枪"的脚本,可再次说明
class Interpreter
  Face_Event = ...

非常感谢...那枪脚本要怎么写.? 另外,我又发现事件开始条件为并行处理,那怎么才能设置事件接触,角色被攻击呢?

点评

(续)明天lz系统地说明吧.事件攻击角色和角色攻击事件差不多,lz可以将2个的x,y对调一下就行了  发表于 2012-11-14 23:29
之所以没有写枪,因为考虑得不够全面,比如地面上是栅栏,人不能通过,但是子弹能,地面上是大山,人不能通过,子弹也是。这只能用地形标记  发表于 2012-11-14 23:26
沙漠点灰 发表于 2012-11-14 18:45:47
lz的原因不知道,不过建议用下面的脚本..若lz需要"枪"的脚本,可再次说明
RUBY 代码复制
  1. class Interpreter
  2.   Face_Event = [nil,[0,-1],[1,0],[-1,0],[0,1]]
  3.   def aexy
  4.     return false unless @event_id
  5.     [2,4,6,8].any?{|i|$game_player.direction==i and [$game_player.x-$game_map.events[@event_id].x,$game_player.y-$game_map.events[@event_id].y] == Face_Event[i/2]}
  6.   end
  7. end

评分

参与人数 1梦石 +1 收起 理由
hcm + 1 认可答案

查看全部评分

666sero 发表于 2012-11-14 17:40:34
虾米£浪子 发表于 2012-11-14 09:06
event.id没有指定事件对象?
aexy(@event.id) 写在事件上,应该可以调用。

我就是这么做的,问题是超过两个敌人就会重定义event.id
——图片应该可以看了..
虾米£浪子 发表于 2012-11-14 09:06:56
event.id没有指定事件对象?
aexy(@event.id) 写在事件上,应该可以调用。
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-17 06:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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