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

Project1

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

角色抖动

 关闭 [复制链接]

Lv1.梦旅人

伸手爱好者

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-3-28
帖子
527
跳转到指定楼层
1
发表于 2009-5-17 22:36:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
除了修改行走图和动画之外,有没有方法能做到事件抖动的效果呢?
比如脚本之类.
(抖动就是在一个格子内左右晃动.     注意:不是画面抖动)
版务信息:版主帮忙结贴~
咱在咱的设计素描书上看到有“柳笛”这个名字,恩~到底有怎样的关系呢?
[img]http://rpg.blue/data/attachment/forum/month_0910/09102318341719b34b80b536d4.gif[/img]

Lv1.梦旅人

梦石
0
星屑
60
在线时间
41 小时
注册时间
2008-3-5
帖子
2072
2
发表于 2009-5-17 22:46:44 | 只看该作者
按一下显示器的消磁按钮
你它囧一字母君谁记得……
当时那把剑离我的喉咙只有0.01工分。可是一柱香之后,这个女主人会深深的爱上我,虽然本人平生说了无数的谎话,可是这句最有效:“你应该这么做,我也应该死。
曾经有一取ID的机会放在我面前,我没有珍惜,等我失去的时候我才后悔莫及,人世间最痛苦的事莫过于此。你的剑在我的咽喉上割下去吧!不用再犹豫了!如果上天能够给我一个再来一次的机会,我绝对会取个汉字君。如果非要给这ID加点修饰的话,我希望是……红色加粗……

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2009-4-10
帖子
34
3
发表于 2009-5-17 23:06:05 | 只看该作者
应该不可以。。。只能修改行走图。。。动画更简单。。。用动画吧
版主对此帖的认可:『正确解答,补上悬赏积分,感激你的热情帮助...』,积分『+350』。
⊕ 每个人的胸怀是靠冤枉撑大的。 ⊕ 走過這些年遇見了人也碰到了狗~! ⊕ 不要因为寂寞去寻找刺激,要去学会享受寂寞。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
帖子
1924
4
发表于 2009-5-18 10:16:08 | 只看该作者
插入这个脚本,主要功能是给 Sprite_character 定义一个是否抖动的布尔型成员 @shaking,当这个成员为真时就让精灵的屏幕 x 坐标在当前位置循环左右摆动,否则固定~
class Sprite_Character < RPG::Sprite
  attr_accessor :shaking
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #     viewport  : 查看端口
  #     character : 角色 (Game_Character)
  #--------------------------------------------------------------------------
  def initialize(viewport, character = nil)
    super(viewport)
    @character = character
    @shaking = false
    @shaking_cnt = 0
    @shaking_dir = 0

    update
  end
  #--------------------------------------------------------------------------
  # ● 更新画面
  #--------------------------------------------------------------------------
  def update
    super
    # 元件 ID、文件名、色相与现在的情况存在差异的情况下
    if @tile_id != @character.tile_id or
       @character_name != @character.character_name or
       @character_hue != @character.character_hue
      # 记忆元件 ID 与文件名、色相
      @tile_id = @character.tile_id
      @character_name = @character.character_name
      @character_hue = @character.character_hue
      # 元件 ID 为有效值的情况下
      if @tile_id >= 384
        self.bitmap = RPG::Cache.tile($game_map.tileset_name,
          @tile_id, @character.character_hue)
        self.src_rect.set(0, 0, 32, 32)
        self.ox = 16
        self.oy = 32
      # 元件 ID 为无效值的情况下
      else
        self.bitmap = RPG::Cache.character(@character.character_name,
          @character.character_hue)
        @cw = bitmap.width / 4
        @ch = bitmap.height / 4
        self.ox = @cw / 2
        self.oy = @ch
      end
    end
    # 设置可视状态
    self.visible = (not @character.transparent)
    # 图形是角色的情况下
    if @tile_id == 0
      # 设置传送目标的矩形
      sx = @character.pattern * @cw
      sy = (@character.direction - 2) / 2 * @ch
      self.src_rect.set(sx, sy, @cw, @ch)
    end
    # 设置脚本的坐标
    if @shaking
      offset = 2
      self.x = @shaking_cnt + @character.screen_x
      @shaking_cnt = @shaking_dir == 0 ? @shaking_cnt + 1 : @shaking_cnt - 1
      if @shaking_cnt >= offset || @shaking_cnt <= -offset
        @shaking_dir ^= 1
      end
    else

      self.x = @character.screen_x
    end
    self.y = @character.screen_y
    self.z = @character.screen_z(@ch)
    # 设置不透明度、合成方式、茂密
    self.opacity = @character.opacity
    self.blend_type = @character.blend_type
    self.bush_depth = @character.bush_depth
    # 动画
    if @character.animation_id != 0
      animation = $data_animations[@character.animation_id]
      animation(animation, true)
      @character.animation_id = 0
    end
  end
end

class Scene_Map
  attr :spriteset
end

class Spriteset_Map
  attr :character_sprites
end

然后在事件脚本中调用:
$scene.spriteset.character_sprites[0].
shaking = true
就能让地图中的第一个事件(编号最小的事件)开始抖动~
相同的语句把 true 改为 false 就能使其停止抖动
另外如果想让主角抖动,在 [..] 中填一个 -1 就行了,会自动定位到数组中的最后一个元素——主角的精灵
版主对此帖的认可:『强大!顺手抱走了...』,积分『+100』。
系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

伸手爱好者

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-3-28
帖子
527
5
 楼主| 发表于 2009-5-18 20:13:44 | 只看该作者
太谢谢了 ,这就下就可以省下不少时间了!
咱在咱的设计素描书上看到有“柳笛”这个名字,恩~到底有怎样的关系呢?
[img]http://rpg.blue/data/attachment/forum/month_0910/09102318341719b34b80b536d4.gif[/img]
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
2 小时
注册时间
2009-10-23
帖子
69
6
发表于 2009-11-22 13:04:49 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-23 21:30

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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