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

Project1

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

[已经过期] 请问一个事件需要占用多个格子该怎么办

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
20 小时
注册时间
2013-10-4
帖子
14
跳转到指定楼层
1
发表于 2013-10-11 20:43:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
如题,例如一个切换场景的路很宽,有3格这么宽,我现在需要做的是接触到3个格子中的任意一个就能切换场景,该如何做到?
还比如,一个人很高,占了10个格子,我只要对10个格子中任意一个格子按确定键就能和他对话,该怎么做最容易?

Lv1.梦旅人

梦石
0
星屑
55
在线时间
61 小时
注册时间
2012-1-23
帖子
80
2
发表于 2013-10-11 20:49:37 | 只看该作者
ctrl C+ctrl V
复制粘贴
我觉得路宽只有3不算多。。。

评分

参与人数 1星屑 +45 收起 理由
myownroc + 45 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3846
在线时间
1966 小时
注册时间
2013-1-3
帖子
9536
3
发表于 2013-10-11 20:53:52 | 只看该作者
多复制几个事件就可以了

评分

参与人数 1星屑 +45 收起 理由
myownroc + 45 我很赞同

查看全部评分

《宿愿·寻剑篇》正式版已经发布!快去看看!点击进入论坛发布贴
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
140
在线时间
0 小时
注册时间
2013-10-19
帖子
2
4
发表于 2013-10-19 13:40:57 | 只看该作者
这个我也非常想知道! 比如一只怪占两个...
回复 支持 反对

使用道具 举报

Lv3.寻梦者

○赛

梦石
0
星屑
1249
在线时间
1276 小时
注册时间
2013-1-22
帖子
2246

贵宾

5
发表于 2013-10-19 13:42:51 | 只看该作者
把人物放到图块里。
然后设置事件时一个一个拼出来、

评分

参与人数 1星屑 +30 收起 理由
myownroc + 30 楼主只是想要场景切换…

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

6
发表于 2013-10-19 18:18:00 | 只看该作者
事件形状脚本···不过那个也有缺陷,必须是方形、菱形之类的形状
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv3.寻梦者

双子人

梦石
0
星屑
3185
在线时间
3618 小时
注册时间
2009-4-4
帖子
4154

开拓者

7
发表于 2013-10-20 10:46:30 | 只看该作者
本帖最后由 hys111111 于 2013-10-20 17:27 编辑

我看错了,脚本重写一下。


  1. class Game_Character
  2.   attr_accessor :fat_x #占格x
  3.   attr_accessor :fat_y #占格y
  4.   #--------------------------------------------------------------------------
  5.   # ● 初始化对像
  6.   #--------------------------------------------------------------------------
  7.   alias fat_initialize initialize
  8.   def initialize
  9.     fat_initialize
  10.     @fat_x = 0
  11.     @fat_y = 0
  12.   end
  13.   #--------------------------------------------------------------------------
  14.   # ● 可以通行判定
  15.   #     x : X 坐标
  16.   #     y : Y 坐标
  17.   #     d : 方向 (0,2,4,6,8)  ※ 0 = 全方向不能通行的情况判定 (跳跃用)
  18.   #--------------------------------------------------------------------------
  19.   def passable?(x, y, d)
  20.     fx = ((@fat_x - 1)/2).to_i
  21.     fy = ((@fat_y - 1)/2).to_i
  22.     for xx in x-fx..x+fx
  23.      for yy in y-fy..y+fy
  24.       # 求得新的坐标
  25.       new_x = xx + (d == 6 ? 1 : d == 4 ? -1 : 0)
  26.       new_y = yy + (d == 2 ? 1 : d == 8 ? -1 : 0)
  27.       # 坐标在地图以外的情况
  28.       unless $game_map.valid?(new_x, new_y)
  29.         # 不能通行
  30.         return false
  31.       end
  32.       # 穿透是 ON 的情况下
  33.       if @through
  34.         # 可以通行
  35.         return true
  36.       end
  37.       # 移动者的元件无法来到指定方向的情况下
  38.       unless $game_map.passable?(x, y, d, self)
  39.         # 通行不可
  40.         return false
  41.       end
  42.       # 从指定方向不能进入到移动处的元件的情况下
  43.       unless $game_map.passable?(new_x, new_y, 10 - d)
  44.         # 不能通行
  45.         return false
  46.       end
  47.       # 循环全部事件
  48.       for event in $game_map.events.values
  49.         # 事件坐标于移动目标坐标一致的情况下
  50.         if event.x == new_x and event.y == new_y
  51.           # 穿透为 ON
  52.           unless event.through
  53.             # 自己就是事件的情况下
  54.             if self != $game_player
  55.               # 不能通行
  56.               return false
  57.             end
  58.             # 自己是主角、对方的图形是角色的情况下
  59.             if event.character_name != ""
  60.               # 不能通行
  61.               return false
  62.             end
  63.           end
  64.         end
  65.       end
  66.       # 主角的坐标与移动目标坐标一致的情况下
  67.       if $game_player.x == new_x and $game_player.y == new_y
  68.         # 穿透为 ON
  69.         unless $game_player.through
  70.           # 自己的图形是角色的情况下
  71.           if @character_name != ""
  72.             # 不能通行
  73.             return false
  74.           end
  75.         end
  76.       end
  77.      end
  78.     end
  79.     # 可以通行
  80.     return true
  81.   end
  82.   alias fat_update update
  83.   def update
  84.     @fat_x = (Bitmap.new("Graphics/Characters/"+self.character_name).width/128).to_i
  85.     @fat_y = (Bitmap.new("Graphics/Characters/"+self.character_name).height/128).to_i
  86.     fat_update
  87.   end
  88. end
复制代码
可以用下肥婆脚本。

它是根据行走图的大小判断格数的。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12294
在线时间
21818 小时
注册时间
2010-10-24
帖子
308
8
发表于 2013-10-20 10:53:49 | 只看该作者
本帖最后由 imsy 于 2013-10-20 10:55 编辑

如果不需要移动的话,用空白的地形标志铺在第三层,然后判断之
仅适用于很宽的路切换场景
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-22 17:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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