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

Project1

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

[原创发布] 【脚写脚本】移动对话窗口信息

[复制链接]

Lv5.捕梦者

梦石
10
星屑
39440
在线时间
1914 小时
注册时间
2010-11-14
帖子
3315

R考场第七期纪念奖

跳转到指定楼层
1
发表于 2020-4-20 11:24:13 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 KB.Driver 于 2020-4-20 11:25 编辑


使用方向键可以造成对话窗口会动的感觉。

需要先插入上面这段脚本
点我


脚本本体:
RUBY 代码复制
  1. #encoding:utf-8
  2. ##
  3. # Ugoku
  4. # author: Calendar99
  5. #
  6. # use arrow keys to make your message window ugokemasu.
  7. ##
  8.  
  9. class Window_Message
  10.  
  11.   dur = 15
  12.   power = 90
  13.  
  14.   tw = ->(ab, inout) { "Tween.new(#{ab}, Tween::Cubic::#{inout}, #{dur})" }
  15.   expo_tws = "->(a, b) { [(#{tw['a, b','Out']}), (#{tw['b, a' ,'In']})] }"
  16.  
  17.   {
  18.     :down     => [:oy, "->(ox, oy) { (#{expo_tws})[oy, oy - #{power}] }"],
  19.     :up       => [:oy, "->(ox, oy) { (#{expo_tws})[oy, oy + #{power}] }"],
  20.     :right    => [:ox, "->(ox, oy) { (#{expo_tws})[ox, ox - #{power}] }"],
  21.     :left     => [:ox, "->(ox, oy) { (#{expo_tws})[ox, ox + #{power}] }"],
  22.   }.each {|meth, (attr, tws)|
  23.     class_eval %{
  24.       def ugoku_#{meth}
  25.         if @#{attr}_tweens.empty?
  26.           @#{attr}_tweens += (#{tws}).call(ox, oy)
  27.         else
  28.           @#{attr}_tweens.shift until @#{attr}_tweens.size == 1
  29.           @#{attr}_tweens.unshift (#{tws}).call(ox, oy)[0]
  30.           @#{attr}_tweens[1].start[0] = @#{attr}_tweens[0].finish[0]
  31.           @#{attr}_tweens[1].rewind
  32.         end
  33.       end
  34.     }
  35.   }
  36.  
  37.   alias initialize_ugoku_calendar99 initialize
  38.   def initialize
  39.     initialize_ugoku_calendar99
  40.     @ox_tweens = []
  41.     @oy_tweens = []
  42.   end
  43.  
  44.   alias update_ugoku_calendar99 update
  45.   def update
  46.     process_ugoku
  47.     update_ugoku
  48.     update_ugoku_calendar99
  49.   end
  50.  
  51.   def process_ugoku
  52.     return unless active && open?
  53.     ugoku_down  if Input.trigger?(:DOWN)
  54.     ugoku_up    if Input.trigger?(:UP)
  55.     ugoku_right if Input.trigger?(:RIGHT)
  56.     ugoku_left  if Input.trigger?(:LEFT)
  57.   end
  58.  
  59.  
  60.   upd = ->(param) {
  61.     %{
  62.       unless @#{param}_tweens.empty?
  63.         if @#{param}_tweens[0].done
  64.           @#{param}_tweens.shift
  65.         end
  66.         if tw = @#{param}_tweens[0]
  67.           tw.update
  68.           self.#{param} = tw.value
  69.         end
  70.       end
  71.     }
  72.   }
  73.  
  74.   class_eval %{
  75.     def update_ugoku
  76.       #{upd['ox']}
  77.       #{upd['oy']}
  78.     end
  79.   }
  80. end

评分

参与人数 1+1 收起 理由
PLeaseS + 1 塞糖

查看全部评分

用头画头像,用脚写脚本

Lv4.逐梦者

梦石
0
星屑
11199
在线时间
607 小时
注册时间
2016-8-25
帖子
1393

R考场第七期纪念奖

2
发表于 2020-4-20 11:52:56 | 只看该作者
tqltql
不过这个脚本能用在什么地方呢

点评

你可以下载了把Window_Message改成Window_Base,然后在initialize和initialize_ugoku_calendar99后面加(*args)  发表于 2020-4-20 12:21
回复 支持 反对

使用道具 举报

Lv6.析梦学徒

老鹰

梦石
40
星屑
33412
在线时间
6552 小时
注册时间
2012-5-26
帖子
3178

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

3
发表于 2020-4-20 12:38:09 | 只看该作者
有点鬼畜hhhhh
实际上这个需要结合 对话框宽高扩展,默认只有4行也就左右移动有点用
但是这么多字其实看起来很累,而且绘制也会卡(如果一口气绘制完的话)

评分

参与人数 1+1 收起 理由
chanszeman1018 + 1 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
11199
在线时间
607 小时
注册时间
2016-8-25
帖子
1393

R考场第七期纪念奖

4
发表于 2020-4-20 14:20:02 | 只看该作者
把对话框扩大
说不定可以做地图
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
2
星屑
6639
在线时间
501 小时
注册时间
2018-3-23
帖子
533

R考场第七期银奖

5
发表于 2020-4-20 18:48:36 | 只看该作者
仿佛看出了缓动的效果……
总之膜(guan)拜(shui)日历大佬!
祝好。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-27 00:05

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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