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

Project1

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

[已经解决] 飘动标题怎么设置左右移动

 关闭 [复制链接]

Lv1.梦旅人

小黑

梦石
0
星屑
50
在线时间
140 小时
注册时间
2011-8-23
帖子
536
跳转到指定楼层
1
发表于 2011-10-25 07:07:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
怎么让他两边对称移动啊(而不是至移动一个方向)
  1. #东方绯想天式飘动title
  2. class Window_Title < Window_Selectable
  3.   #--------------------------------------------------------------------------
  4.   # 定义常量
  5.   #--------------------------------------------------------------------------
  6.   AMP      = -50               #幅度,正数为向右,负数为向左
  7.   WAITTIME = 300               #等待时间,单位:帧
  8.   SPEED    = 300               #飘动速度,值越大越慢
  9.   OX       = [130,150,170] #初始横坐标
  10.   LOADDATA = 1                 #读档指令的位置,如果不使用无存档时变暗功能,把此项设为nil
  11.   WAIT_PER_PERIOD = false      #每次飘动完成后等待
  12.   #--------------------------------------------------------------------------
  13.   # 初始化
  14.   #--------------------------------------------------------------------------
  15.   def initialize(x = -16, y = 200)
  16.     bitmap = Cache.system("title_command")
  17.     @width = bitmap.width
  18.     @height= bitmap.height
  19.     super(x, y, Graphics.width - 2 * x, @height + 32)
  20.     self.opacity = 0
  21.     @index = 0
  22.     @column_max = 1
  23.     @item_max = OX.size
  24.     @height /= @item_max
  25.     @sprites = []
  26.     OX.size.times do |index|
  27.       sprite = Sprite.new
  28.       sprite.bitmap = bitmap
  29.       sprite.src_rect.set(0, @height * index, bitmap.width, @height)
  30.       sprite.y = y + @height * index + 16
  31.       sprite.x = OX[index]
  32.       @sprites.push(sprite)
  33.     end
  34.     if LOADDATA and Dir.glob('Save*.rvdata').empty? #读档按钮不可用时的颜色修正,可以根据图片的特点来修改以取得比较好的视觉效果
  35.       @sprites[LOADDATA].opacity = 128              #半透明
  36.       @sprites[LOADDATA].tone = Tone.new(0,0,0,255) #灰度化
  37.     end
  38.     @move_x = []
  39.     @wait_time = 0
  40.     @move_index = [0,0,0,0]
  41.     SPEED.times {|index|@move_x.push((Math.cos(Math::PI * index / SPEED * 2) * AMP).round - AMP)}
  42.     update
  43.   end
  44.   #--------------------------------------------------------------------------
  45.   # 更新
  46.   #--------------------------------------------------------------------------
  47.   def update
  48.     last_index = @index
  49.     super
  50.     if @index != last_index
  51.       @wait_time = 0
  52.       @stopping = true
  53.     end
  54.     if @move_index.all? {|index|index == 0}
  55.       if @wait_time > WAITTIME
  56.         sprite_move(0)
  57.         @wait_time = 0
  58.         @stopping = true if WAIT_PER_PERIOD
  59.       else
  60.         @stopping = false
  61.         @wait_time += 1
  62.       end
  63.     else
  64.       sprite_move(0) unless @stopping and @move_index[0] == 0
  65.       (1...OX.size).each {|index| sprite_move(index) if @move_index[index] != 0 or @move_index[index - 1] >= 30}
  66.     end
  67.   end
  68.   #--------------------------------------------------------------------------
  69.   # 释放(再定义)
  70.   #--------------------------------------------------------------------------
  71.   def dispose
  72.     @sprites.each do |sprite|
  73.       sprite.bitmap.dispose
  74.       sprite.dispose
  75.     end
  76.     super
  77.   end
  78.   #--------------------------------------------------------------------------
  79.   # ● 获取项目要描画的矩形
  80.   #     index : 项目编号
  81.   #--------------------------------------------------------------------------
  82.   def item_rect(index)
  83.     return Rect.new(0,index * @height, self.contents.width, @height)
  84.   end
  85.   #--------------------------------------------------------------------------
  86.   # 精灵的移动
  87.   #--------------------------------------------------------------------------
  88.   def sprite_move(index)
  89.     @move_index[index] < SPEED - 1 ? @move_index[index] += 1 : @move_index[index] = 0
  90.     @sprites[index].ox = @move_x[@move_index[index]]
  91.   end
  92. end
复制代码

评分

参与人数 1星屑 +14 收起 理由
黑之翅膀 + 14 好用的脚本

查看全部评分

Lv1.梦旅人

梦石
0
星屑
50
在线时间
134 小时
注册时间
2009-3-29
帖子
470
2
发表于 2011-10-25 07:10:33 | 只看该作者
本帖最后由 黑之翅膀 于 2011-10-25 07:12 编辑

把脚本41行的
  1. SPEED.times {|index|@move_x.push((Math.cos(Math::PI * index / SPEED * 2) * AMP).round - AMP)}

  2. #把- AMP去掉
复制代码


去掉...

我也不知道有什么好办法,不过却又能解决你的问题
黑之结界勇士
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-6 18:46

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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