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

Project1

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

请指教,角色待机动画问题

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
45
在线时间
0 小时
注册时间
2008-11-28
帖子
3
跳转到指定楼层
1
发表于 2008-11-30 16:22:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我在帖上看到一则技巧,作者是亿万星辰,他共修改了两个类,我分别把他增加的代码粘出来,然后再说出我的问题
==================================
■ Game_Character (分割定义 1)
attr_accessor :time                     # 增加的

# 角色动画待机时间 start <---- myself #
  alias old_ini initialize
  
  def initialize
    old_ini
    @time = 0 # 角色动画待机时间 <---- myself
  end
# 角色动画待机时间 end <---- myself #
==================================
■ Game_Player
TIME_LIMIT = 80
#--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    # 将现有图片替换为待机动画图 <---- myself
    @old_pic = @character_name
    @time = 0 # 初始待机动画时间为0 <---- myself
    # 初始化不透明度和合成方式子
    @opacity = 255
    @blend_type = 0
  end

  #--------------------------------------------------------------------------
  # ● 画面更新
  #--------------------------------------------------------------------------
  def update
     # 角色动画待机时间 start <---- myself #
     if @time == TIME_LIMIT
      @character_name = @character_name + "_W"
      @scratch = true
      @step_anime = true
      @time = TIME_LIMIT + 1
    elsif @time < TIME_LIMIT
      @scratch = false
      @step_anime = false
    end
    # 角色动画待机时间 end <---- myself #
  when 2
        move_down
        # ----待机动画 ---- #
        @time = 0
        @scratch = false
        @character_name = @old_pic
        # ----待机动画 ---- #
      when 4
        move_left
        # ----待机动画 ---- #
        @time = 0
        @scratch = false
        @character_name = @old_pic
        # ----待机动画 ---- #
      when 6
        move_right
        # ----待机动画 ---- #
        @time = 0
        @scratch = false
        @character_name = @old_pic
        # ----待机动画 ---- #
      when 8
        move_up
        # ----待机动画 ---- #
        @time = 0
        @scratch = false
        @character_name = @old_pic
        # ----待机动画 ---- #
      end
      unless moving?
      # 角色动画待机时间 start <---- myself #
       if @time < TIME_LIMIT
         @time += 1
       end
         #以上三行可替换为: @time += 1 if @time < TIME_LIMIT
      # 角色动画待机时间 end <---- myself #
      end
==================================
好了,以上就是他所增加的代码部分,我基本上是看懂了,但是有两点不明,请各位教我。
1.我将Game_Character (分割定义 1)中增加的time即使去掉,执行游戏也能达到待机动画功能,所以,他所增加的attr_accessor :time好像是没有用的,那他真的是没用的吗?
2.@scratch是什么意思?
3.在Ruby中,随意在代码中增加@***的变量就是全局变量吗?

在这里多谢大家了哦,在线等您回答

此贴于 2008-12-1 18:30:18 被版主darkten提醒,请楼主看到后对本贴做出回应。
版务信息:版主帮忙结贴~

Lv1.梦旅人

綾川司の姫様<

梦石
0
星屑
50
在线时间
796 小时
注册时间
2007-12-20
帖子
4520

贵宾第3届短篇游戏大赛R剧及RMTV组亚军

2
发表于 2008-11-30 16:39:04 | 只看该作者
time应该是表示在等待了多久(在TIME_LIMIT设置等待帧数)之后,人物变为待机动作。去掉这个变量也能实现,只不过人物一停下来立刻就待机了。@scratch大概是个控制某个功能的变量吧= =在这段脚本里似乎没看到这个变量的实际用途。

全局变量是前面带$的,不是@。
系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~

生命即是责任。自己即是世界。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-10-26
帖子
528
3
发表于 2008-11-30 16:46:07 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-11-28
帖子
79
4
发表于 2008-11-30 17:07:03 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-21 01:02

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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