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

Project1

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

[已经解决] 如何判断1号事件是否接触到角色正在播放的动画

[复制链接]

Lv2.观梦者

梦石
0
星屑
505
在线时间
340 小时
注册时间
2008-8-13
帖子
526
跳转到指定楼层
1
发表于 2010-7-3 06:51:02 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 ProfesstionR 于 2010-7-5 13:52 编辑

ACT写范围...不好控制
所以,如何判断1号事件是否接触到角色正在播放的动画
就是象素接触,动画里透明的算没碰到,不透明的1号事件接触一点点都算碰到

这怎么写?
- - 你无视我就行了
Temperament can not be proud to imitate supreme.

Lv3.寻梦者

梦石
0
星屑
1190
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

17
发表于 2010-7-5 11:32:56 | 只看该作者
额,由于报告了错误的认可链接,我把分给评了,XP区斑竹把类分一下。

请看20楼:
http://rpg.blue/forum.php?mod=vi ... page%3D1&page=2

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
505
在线时间
340 小时
注册时间
2008-8-13
帖子
526
16
 楼主| 发表于 2010-7-5 07:20:24 | 只看该作者
谢谢了,解决了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
帖子
1924
15
发表于 2010-7-4 22:23:41 | 只看该作者
你这个就是把数组改成了散列表,那就需要把 [ ] 内的索引改为:
1、事件 $game_map.events[事件编号]
2、角色 $game_player

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
505
在线时间
340 小时
注册时间
2008-8-13
帖子
526
14
 楼主| 发表于 2010-7-4 17:03:01 | 只看该作者
在新工程中倒是可以
但是
我那脚本的Spriteset_Map不一样,不兼容,该如何改
    # 生成角色活动块
    @character_sprites = {}
    for i in $game_map.events.keys.sort
      add_event($game_map.events[i])
    end
    @character_sprites[$game_player] = Sprite_Character.new(@viewport1, $game_player)
  #--------------------------------------------------------------------------
  # ● 添加事件
  #--------------------------------------------------------------------------
  def add_event(event)
    @character_sprites[event] = Sprite_Character.new(@viewport1, event)
  end

该怎么改
- - 你无视我就行了
Temperament can not be proud to imitate supreme.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
帖子
1924
13
发表于 2010-7-4 12:37:57 | 只看该作者
回复 ProfesstionR 的帖子

角色是数组中最后一个元素,所以用 -1 即可
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
505
在线时间
340 小时
注册时间
2008-8-13
帖子
526
12
 楼主| 发表于 2010-7-4 12:34:59 | 只看该作者
# 锁定 1 号事件,下面的 0 是事件编号 - 1
spr = $scene.instance_eval("@spriteset").
  instance_eval(" ...
紫苏 发表于 2010-7-4 12:28

那1号事件用0表示,角色用$game_player表示吗
回复 支持 反对

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3132
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

11
发表于 2010-7-4 12:31:11 | 只看该作者
其实在Sprite上抓交汇才是最实在的……但是速度极端慢就是,所以必须折中
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
帖子
1924
10
发表于 2010-7-4 12:28:47 | 只看该作者
本帖最后由 紫苏 于 2010-7-4 12:31 编辑

# 锁定 1 号事件,下面的 0 是事件编号 - 1
spr = $scene.instance_eval("@spriteset").
  instance_eval("@character_sprites")[0]
ani = spr.instance_eval("@_animation")
dur = spr.instance_eval(
"@_animation_duration")

if(ani) # 如果当前正在播放动画
p ani.id, # 动画 ID
  ani.frame_max - dur # 当前帧
end

有了当前正在播放的帧的数据,就可以用楼上上的方法获取动画的数据

以上仅针对地图中的动画,战斗中另有循环动画,则不是这样写的了
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
505
在线时间
340 小时
注册时间
2008-8-13
帖子
526
9
 楼主| 发表于 2010-7-4 11:36:42 | 只看该作者
本帖最后由 ProfesstionR 于 2010-7-4 12:10 编辑

紫苏大..能写具体点吗.....如何读取角色正在播放的动画ID以及正在播放那一贞,还有X号动画第Y贞的单元总数?
- - 你无视我就行了
Temperament can not be proud to imitate supreme.
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-28 07:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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