查看: 4405|回复: 10

[已经解决] 【卑微求助】请问怎么做立绘的眨眼效果

[复制链接]
梦石
0
星屑
68
在线时间
6 小时
注册时间
2020-6-30
回帖
6
发表于 2020-7-3 21:19:53 | 显示全部楼层 |阅读模式
悬赏10星屑已解决
请问那种立绘可随机眨眼的效果该怎么做呀qvq   是有什么脚本嘛?
就是不同的表情,但是都可以眨眼睛,超级好看的那种效果!!找了好久辣可是

完全没有头绪,求老师们救救孩子吧!!!

因为不知道是不是需要好几帧的那种过程图,先简单画了四张放在这里啦,不知道能不能用得上,求求示范qvq
感谢!!!!
1.png
2.png
3.png
4.png

最佳答案

查看完整内容

看有阵子没人回复就自己稍微研究了一下 顺便根据LZ主楼中贴出的图片做出了一些整理 试试看能不能满足需要
加油学习做恐解!!!
梦石
3
星屑
7336
在线时间
608 小时
注册时间
2019-9-15
回帖
112

R考场第七期金奖

发表于 2020-7-3 21:19:54 | 显示全部楼层
本帖最后由 Cupidk爱呗茶 于 2020-7-8 16:20 编辑

看有阵子没人回复就自己稍微研究了一下  顺便根据LZ主楼中贴出的图片做出了一些整理  试试看能不能满足需要
脚本[pre lang="ruby"]# 全场景简易循环式动画
# by 小小小小茶司令(Cupid·Rays)
# 使用说明
# 插入脚本到脚本页后任意场景中调用blink_add方法即可呼出动画
# 如要自主添加动画需将文件放在Graphics\System
# 本系统也可直接调用精灵组blink_sprites[动画编号]修改参数以达到各种自定义效果
# 具体用法可在本范例地图上查看

# 例: blink_add(1, "眨眼", 0, 0, 6) 生成对应编号动画
# blink_dispose(编号) 清除对应编号的动画
# 参数说明:
# blink_add(动画编号,图像名称,x坐标,y坐标,动画图数量,总帧数,每帧时长,透明度)
#==============================================================================
# ■ Scene_Base
#------------------------------------------------------------------------------
#  游戏中所有 Scene 类(场景类)的父类
#==============================================================================
class Scene_Base
  attr_reader :blink_sprites # 读取精灵组
  #--------------------------------------------------------------------------
  # ● 初始化对象
  #--------------------------------------------------------------------------
  alias :init20207 :initialize
  def initialize
    init20207
    @blink_sprites = {}
    @blink_set = {}  # 0:闪烁值 1:图片帧数 2:图片每帧时长 3:图像名 4:总帧数
  end  
  #--------------------------------------------------------------------------
  # ● 更新画面
  #--------------------------------------------------------------------------
  alias :update_20707 :update
  def update
    update_20707
    if blink_true?
     @blink_sprites.each_key do |i|
      blink_update(i) if @blink_sprites
     end
   end
  end  
  #--------------------------------------------------------------------------
  # ● 结束处理
  #--------------------------------------------------------------------------
  alias :termi_20707 :terminate
  def terminate
    termi_20707
    @blink_sprites.each_key {|k| blink_dispose(k) } if blink_true?
  end   
  #--------------------------------------------------------------------------
  # ● 判断精灵是否存在
  #--------------------------------------------------------------------------
  def blink_true?
    @blink_sprites.keys.any? {|k| @blink_sprites[k] }
  end  
  #--------------------------------------------------------------------------
  # ● 添加动画精灵
  #--------------------------------------------------------------------------
  def blink_add(index, bitmap, x, y, size, toatl = 60, inte = 10, opacity = 255)
    sprite = Sprite.new
    sprite.x = x ; sprite.y = y ; sprite.z = 100
    sprite.opacity = opacity
    blink_set(index, size, inte, bitmap, toatl)
    @blink_sprites[index] = sprite
  end  
  #--------------------------------------------------------------------------
  # ● 设置动画精灵
  #--------------------------------------------------------------------------
  def blink_set(index, size, inte, bitmap, toatl)
    @blink_set[index] = [0, size, inte, bitmap, toatl]
  end  
  #--------------------------------------------------------------------------
  # ● 动画精灵更新
  #--------------------------------------------------------------------------
  def blink_update(i)
     flash = @blink_set[0] % @blink_set[4] / @blink_set[2]
     bitmap = Cache.system(@blink_set[3])
     width = bitmap.width / @blink_set[1]
     rect = Rect.new(0, 0, width, bitmap.height)
     rect = Rect.new(flash * width, 0, width, bitmap.height) if flash < @blink_set[1]
     if @blink_sprites.src_rect != rect || @blink_sprites.bitmap != bitmap
       @blink_sprites.bitmap = bitmap
       @blink_sprites.src_rect.set(rect)
     end
     @blink_set[0] += 1
  end  
  #--------------------------------------------------------------------------
  # ● 释放动画精灵
  #--------------------------------------------------------------------------
  def blink_dispose(i)
    if @blink_sprites
      @blink_sprites.bitmap.dispose
      @blink_sprites.dispose
      @blink_sprites = nil
      @blink_set = nil
    end  
  end  
end  
#==============================================================================
# ■ Object
#------------------------------------------------------------------------------
#  游戏中所有类的父类
#==============================================================================
class Object
  #--------------------------------------------------------------------------
  # ● 快捷添加方法
  #--------------------------------------------------------------------------
  def blink_add(*args)
    SceneManager.scene.blink_add(*args)
  end  
  #--------------------------------------------------------------------------
  # ● 快捷释放方法
  #--------------------------------------------------------------------------
  def blink_dispose(i)
    SceneManager.scene.blink_dispose(i)
  end  
  #--------------------------------------------------------------------------
  # ● 获取当前场景精灵组
  #--------------------------------------------------------------------------
  def blink_sprites
    SceneManager.scene.blink_sprites
  end
end  [/pre]

全场景简易循环式动画.rar

1.53 MB, 下载次数: 89

点评

超大感谢!!!ヾ(◍°∇°◍)ノ゙  发表于 2020-7-9 10:06
可以的,铁子,很棒!  发表于 2020-7-8 18:28

评分

参与人数 1赞 +1 收起 理由
gqxastg + 1 精品文章

查看全部评分

********
回复

使用道具 举报

梦石
20
星屑
13965
在线时间
1744 小时
注册时间
2017-1-12
回帖
1667

MZ评测员开拓者

发表于 2020-7-3 21:54:32 | 显示全部楼层
回复

使用道具 举报

梦石
0
星屑
68
在线时间
6 小时
注册时间
2020-6-30
回帖
6
 楼主| 发表于 2020-7-3 22:53:55 | 显示全部楼层
火锅深处 发表于 2020-7-3 21:54
这个https://rpg.blue/thread-401822-1-1.html

啊!!谢谢指路!
但是进去看到大大分享的云盘无法访问了该怎么办哇,请问还有没有其他获取方法
加油学习做恐解!!!
回复

使用道具 举报

梦石
0
星屑
989
在线时间
75 小时
注册时间
2019-7-28
回帖
106
发表于 2020-7-4 05:06:03 | 显示全部楼层
要是不嫌麻烦你可以手动切换
回复

使用道具 举报

梦石
0
星屑
68
在线时间
6 小时
注册时间
2020-6-30
回帖
6
 楼主| 发表于 2020-7-4 10:46:51 | 显示全部楼层
我妻寒十 发表于 2020-7-4 05:06
要是不嫌麻烦你可以手动切换

请问怎么手动切换呀? 是用事件嘛还是0A0

点评

我想想……你可以弄个开关,弄个并行处理事件,并行事件在开关打开的时候运行。放立绘的时候开关打开,并行事件里停顿几秒手动眨一下眼=-=  发表于 2020-7-12 14:37
加油学习做恐解!!!
回复

使用道具 举报

梦石
0
星屑
11809
在线时间
623 小时
注册时间
2016-8-25
回帖
1340

R考场第七期纪念奖

发表于 2020-7-4 12:38:22 | 显示全部楼层
emmmm???
我之前倒是用公共事件做了一个
不过贼麻烦
回复

使用道具 举报

梦石
0
星屑
68
在线时间
6 小时
注册时间
2020-6-30
回帖
6
 楼主| 发表于 2020-7-9 10:06:07 | 显示全部楼层
Cupidk爱呗茶 发表于 2020-7-3 21:19
看有阵子没人回复就自己稍微研究了一下  顺便根据LZ主楼中贴出的图片做出了一些整理  试试看能不能满足需要 ...

太感谢了!!!!!
不好意思前几天比较忙没上论坛,帮了大忙啦qvq
加油学习做恐解!!!
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部