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

Project1

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

[已经解决] 关于事件接触判定问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
38 小时
注册时间
2009-5-23
帖子
358
跳转到指定楼层
1
发表于 2010-9-24 12:12:15 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 猫猫~ 于 2010-9-24 12:13 编辑

1.如何在并行处理事件中判定是否与主角接触?


比如条件分歧:与主角接触:怎么怎么地
                 └除此之外:怎么怎么地


2.如何判定事件是否接触事件?



3.如何制作悬崖?
比如某事件走到了那里就会播放个掉下去的动画,然后消失?


新手提问,请大虾们指点~

Lv1.梦旅人

梦石
0
星屑
50
在线时间
38 小时
注册时间
2009-5-23
帖子
358
2
 楼主| 发表于 2010-9-24 12:18:34 | 只看该作者
本帖最后由 猫猫~ 于 2010-9-24 12:35 编辑

哇!看帖不回!不能这样对待新手啊T T


还有哦,是接触,X=X  Y=Y那就重合了

用变量判定太麻烦了,有没有简单的?


献出你们的爱心吧



      ******       ******
    **********   **********
  ************* *************
*****************************
*****************************
*****************************
  ***************************
    ***********************
      *******************
        ***************
          ***********
            *******
              ***
               *

点评

~~  发表于 2010-9-24 12:41
还提高免疫力呢!  发表于 2010-9-24 12:38
连帖很好~有助于增强体质~~  发表于 2010-9-24 12:37

评分

参与人数 1星屑 -40 收起 理由
六祈 -40 连帖很好~

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
672
在线时间
2184 小时
注册时间
2009-12-6
帖子
607

开拓者

3
发表于 2010-9-24 12:35:21 | 只看该作者
不麻烦,而且除了变量至少我想不出来其他招

点评

= =  发表于 2010-9-24 12:36
color=Red]纳尼= =[  发表于 2010-9-24 12:36
往事简直不堪回首,稍微做点想做的事吧
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
38 小时
注册时间
2009-5-23
帖子
358
4
 楼主| 发表于 2010-9-24 12:44:57 | 只看该作者
本帖最后由 猫猫~ 于 2010-9-24 12:46 编辑

会的'吱'一声,不会的'喵'一声嘛= =

看帖不回什么的最揪心啦~

点评

别水了孩子,静静的等吧  发表于 2010-9-24 12:47
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
344
在线时间
185 小时
注册时间
2007-9-2
帖子
168
5
发表于 2010-9-24 12:57:30 | 只看该作者
本帖最后由 zhli667 于 2010-9-24 13:15 编辑

问题1、并行事件页1设自动~写怎么怎么地~~事件页2设开关X为开时~写怎么怎么地~~在事件周围放4个事件~如果接触则开关X为开~~
问题2、在事件周围放的4个事件可以判断了吧~~
问题3、这个设角色移动就可以解决吧![至于动画、惨叫可以随便加吧]
新手作品:《幻想》———缓慢制作中———
   
合击技能!哇哈哈~~~                                                                     金山寺求宝~~~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
38 小时
注册时间
2009-5-23
帖子
358
6
 楼主| 发表于 2010-9-24 13:03:29 | 只看该作者
回复 zhli667 的帖子
方丈,阿弥陀佛~
问题一和二:要是事件会移动捏?

问题三:事件也要顾及,我总不能X=X  Y=Y的吧每个事件设进去吧?

点评

yes!  发表于 2010-9-24 13:19
你的意思是随机移动事件也要掉悬崖?  发表于 2010-9-24 13:07
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
869 小时
注册时间
2009-3-13
帖子
782
7
发表于 2010-9-24 13:04:42 | 只看该作者
本帖最后由 认真的学 于 2010-9-24 13:34 编辑

1、如果是【与主角接触的话】:
事件【脚本】输入以下脚本
  1. $playerx = $game_player.x
  2. $playery = $game_player.y
  3. if Input.press?(Input::UP)
  4. $playery = $game_player.y-1
  5. end
  6. if Input.press?(Input::DOWN)
  7. $playery = $game_player.y+1
  8. end
  9. if Input.press?(Input::LEFT)
  10. $playerx = $game_player.x-1
  11. end
  12. if Input.press?(Input::RIGHT)
  13. $playerx = $game_player.x+1
  14. end
复制代码
(当然不够输的话可以分成几部分,但是一个if一定要对一个同一脚本中的end)
然后条件分歧的脚本输入
  1. $game_map.events[事件编号].x == $playerx&&$game_map.events[事件编号].y == $playery
复制代码
之后就可以写入与主角接触的内容了......
2、这个问题我的方法可能复杂了点,不知道其他的大大们有没有更好的方法......
脚本编辑器找到Game_Character 3,在25左右的increase_steps下插入
  1. falseall
  2. @movedown = true
复制代码
在46行左右的increase_steps下插入
  1. falseall
  2. @moveleft = true
复制代码
在70行左右的increase_steps下插入
  1. falseall
  2. @moveright = true
复制代码
在94行左右的increase_steps下插入
  1. falseall
  2. @movedown = true
复制代码
然后在倒数第二行的下面插入
  1. def falseall
  2.     @movedown = false
  3.     @moveleft = false
  4.     @moveright = false
  5.     @moveup = false
  6.   end
  7.   def getmovedown
  8.     return @movedown
  9.   end
  10.   def getmoveleft
  11.     return @moveleft
  12.   end
  13.   def getmoveright
  14.     return @moveright
  15.   end
  16.   def getmoveup
  17.     return @moveup
  18.   end
复制代码
接着并行事件,条件分歧脚本插入
  1. ($game_map.events[1].x == $game_map.events[2].x+1&&$game_map.events[1].y == $game_map.events[2].y&&$game_map.events[2].getmoveright == true)||($game_map.events[1].x == $game_map.events[2].x-1&&$game_map.events[1].y == $game_map.events[2].y&&$game_map.events[2].getmoveleft == true)||($game_map.events[1].y == $game_map.events[2].y+1&&$game_map.events[1].x == $game_map.events[2].x&&$game_map.events[2].getmovedown == true)||($game_map.events[1].y == $game_map.events[2].y-1&&$game_map.events[1].x == $game_map.events[2].x&&$game_map.events[2].getmoveup == true)
复制代码
(上面的代码中,中括号的1,2可替换为其他的事件编号,但是替换要一致,不能第一个1替换为5后第二个替换为6)
然后就是事件对撞之后如何如何了......
3、将悬崖设为可以通行,然后设置地形标志(比如设置为5),然后变量代入角色的地形标志,之后条件分歧该变量是不是等于5,如果是,就播放动画,角色透明度修改什么的......

评分

参与人数 1星屑 +300 收起 理由
六祈 + 300 认可答案

查看全部评分

我的寒假活动作品:http://rpg.blue/forum.php?mod=viewthread&tid=281065
咱的龙蛋,求点击:
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
38 小时
注册时间
2009-5-23
帖子
358
8
 楼主| 发表于 2010-9-24 13:16:07 | 只看该作者
回复 认真的学 的帖子

1.不知道是不是我的方法不对,我是这样用的




结果主角走到哪都显示“挨到我了~~”

点评

如果要走完再说的话最简单的方法就是等待几帧......  发表于 2010-9-24 13:36
关于悬崖那儿,事件也让它掉下去~怎么办捏?  发表于 2010-9-24 13:26
那么,还有一点,可能是RM的行走判定的问题吧,主角面向那事件走到它旁边,移动中就已经接触处理了,能解决下改成移动后再说么?  发表于 2010-9-24 13:25
忘记说了...$game_map.events[]括号中填的是事件编号不一定是“1”另外是&&不是&  发表于 2010-9-24 13:18
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
869 小时
注册时间
2009-3-13
帖子
782
9
发表于 2010-9-24 13:40:32 | 只看该作者
关于LZ又提出的事件掉入悬崖,这个实现起来就比较简单:
并行处理条件分歧脚本输入:
  1. $game_map.terrain_tag($game_map.events[事件编号].x, $game_map.events[事件编号].y) == 悬崖的地形标志
复制代码
然后就是掉悬崖......
我的寒假活动作品:http://rpg.blue/forum.php?mod=viewthread&tid=281065
咱的龙蛋,求点击:
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-30 15:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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