Project1

标题: [重金悬赏]窗口中 Sprite 的刷新问题 [打印本页]

作者: 八云紫    时间: 2008-9-19 00:22
标题: [重金悬赏]窗口中 Sprite 的刷新问题
先发上脚本:

  1. ==============================================================================
  2. # ■ Window_Byz_NumberInput
  3. #------------------------------------------------------------------------------
  4. #  信息窗口内部使用、输入数值的窗口。
  5. #==============================================================================
  6. class Window_Byz_NumberInput < Window_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对象
  9.   #     digits_max : 行数
  10.   #--------------------------------------------------------------------------
  11.   def initialize(x, y, w, h)
  12.     super(x, y, w, h)
  13.     @w = w
  14.     @x = x
  15.     @y = y
  16.     @h = h
  17.     @digits_max = 8
  18.     @number = []
  19.     @index = 0
  20.     @bitmap = Bitmap.new("Graphics/System/Number#{Byz_Vocab::NUMBER}")
  21.     self.active = false
  22.     @viewport = Viewport.new(x+16, [email protected] - 20, w-32, @bitmap.height + 10)
  23. #~     @viewport.visible = true
  24. #~     @viewport.color = Color.new(0,0,0,150)
  25.     @viewport.z = 9999
  26.     @sprite_number = []
  27.     for i in 0...@digits_max
  28.       @number[i] = 0
  29.       @sprite_number[i] = Sprite.new(@viewport)
  30.       @sprite_number[i].bitmap = @bitmap
  31.       @sprite_number[i].visible = false
  32.     end
  33.     refresh
  34.     update_cursor
  35.   end
  36.   #--------------------------------------------------------------------------
  37.   # ● 获取行数
  38.   #--------------------------------------------------------------------------
  39.   def digits_max
  40.     return @digits_max
  41.   end
  42.   #--------------------------------------------------------------------------
  43.   # ● 设置行数
  44.   #     digits_max : 新行数
  45.   #--------------------------------------------------------------------------
  46.   def digits_max=(digits_max)
  47.     @digits_max = digits_max
  48.     refresh
  49.   end
  50.   #--------------------------------------------------------------------------
  51.   # ● 获取数值
  52.   #--------------------------------------------------------------------------
  53.   def number
  54.     n = 0
  55.     @number.each_index{|i| n += @number[i] * 10 ** i}
  56.     return n
  57.   end
  58.   #--------------------------------------------------------------------------
  59.   # ● 设置数值
  60.   #     number : 新数值
  61.   #--------------------------------------------------------------------------
  62.   def number=(number)
  63.     n = [number, 0].max
  64.     @index = 0
  65.     @number = dew(n)
  66.     refresh
  67.   end
  68.   #--------------------------------------------------------------------------
  69.   # ● 设置光标
  70.   #--------------------------------------------------------------------------
  71.   def index=(number)
  72.     @index = ([number, -1].max) % @digits_max
  73.     refresh
  74.   end
  75.   #--------------------------------------------------------------------------
  76.   # ● 光标向右移动
  77.   #     wrap : 允许跳过
  78.   #--------------------------------------------------------------------------
  79.   def cursor_right(wrap)
  80.     if @index < @number.size - 1 or wrap
  81.       @index = (@index + 1) % @digits_max
  82.     end
  83.   end
  84.   #--------------------------------------------------------------------------
  85.   # ● 光标向左移动
  86.   #     wrap : 允许跳过
  87.   #--------------------------------------------------------------------------
  88.   def cursor_left(wrap)
  89.     if @index > 0 or wrap
  90.       @index = (@index + @number.size - 1) % @number.size
  91.     end
  92.   end
  93.   #--------------------------------------------------------------------------
  94.   # ● 更新画面
  95.   #--------------------------------------------------------------------------
  96.   def update
  97.     if self.active
  98.       n = @number[@index]
  99.       if Input.repeat?(Input::UP)
  100. #~         n = ((n + 1) % 10)
  101.         @number[@index] += 1
  102.         @number[@index] = 0 if n == 9
  103.         move_sprite(@sprite_number[@index], true)
  104.       end
  105.       if Input.repeat?(Input::DOWN)
  106. #~         n = (n + 9) % 10
  107.         @number[@index] -= 1
  108.         move_sprite(@sprite_number[@index], false)
  109.       end
  110.       refresh
  111.       last_index = @index
  112.       if Input.repeat?(Input::RIGHT)
  113.         cursor_right(Input.trigger?(Input::RIGHT))
  114.       end
  115.       if Input.repeat?(Input::LEFT)
  116.         cursor_left(Input.trigger?(Input::LEFT))
  117.       end
  118.       if @index != last_index
  119.         Sound.play_cursor
  120.       end
  121.       update_cursor
  122.     end
  123.   end
  124.   #--------------------------------------------------------------------------
  125.   # ● 刷新
  126.   #--------------------------------------------------------------------------
  127.   def refresh
  128.     for i in 0...@digits_max
  129.       show_sprite(@number[i], @sprite_number[i], @w - 32 - (i+1) * @bitmap.width / 10 - 8, 0)
  130.     end
  131.   end
  132.   #--------------------------------------------------------------------------
  133.   # ● 更新光标
  134.   #--------------------------------------------------------------------------
  135.   def update_cursor
  136.     self.cursor_rect.set(24 + @index * 16, 0, 16, WLH)
  137.   end
  138.   #--------------------------------------------------------------------------
  139.   # ● 显示 Sprite
  140.   #--------------------------------------------------------------------------
  141.   def show_sprite(numbers, sprite, x, y)
  142.     sprite.src_rect.set(@bitmap.width / 10 * numbers, 0, @bitmap.width / 10, @bitmap.height)
  143.     sprite.x = x
  144.     sprite.y = y
  145.     sprite.visible = true
  146.   end
  147.   #--------------------------------------------------------------------------
  148.   # ● 移动 Sprite
  149.   #    bool: 旋转方向
  150.   #          true  向上
  151.   #          false 向下
  152.   #--------------------------------------------------------------------------
  153.   def move_sprite(sprite, bool)
  154.     old_sprite = Sprite.new(@viewport)
  155.     old_sprite.visible = false
  156.     old_sprite.bitmap = @bitmap
  157.     old_sprite.x = sprite.x
  158.     old_sprite.y = 0
  159.     if bool
  160.       old_sprite.src_rect.x = sprite.src_rect.x + @bitmap.width / 10
  161.       old_sprite.src_rect.x = 0 if old_sprite.src_rect.x > @bitmap.width
  162.       old_sprite.oy = [email protected]
  163.       old_sprite.visible = true
  164.       for i in [email protected]
  165.         old_sprite.oy += 1
  166.         old_sprite.oy = 0 if old_sprite.oy > 0
  167.         sprite.oy += 1
  168.         Graphics.update
  169.       end
  170.       sprite = nil
  171.       sprite = Sprite.new(@viewport)
  172.       sprite.bitmap = @bitmap
  173.       sprite.x = old_sprite.x
  174.       sprite.y = 0
  175.       sprite.src_rect.x = old_sprite.src_rect.x
  176.       old_sprite.visible = false
  177.       old_sprite.bitmap = nil
  178.       old_sprite = nil
  179.     else
  180.       old_sprite.src_rect.x = sprite.src_rect.x - @bitmap.width / 10
  181.       old_sprite.src_rect.x = 0 if old_sprite.src_rect.x < 0
  182.       old_sprite.oy = @bitmap.height
  183.       old_sprite.visible = true
  184.       for i in [email protected]
  185.         old_sprite.oy -= 1
  186.         old_sprite.oy = 0 if old_sprite.oy < 0
  187.         sprite.oy -= 1
  188.         Graphics.update
  189.       end
  190.       sprite.src_rect.x -= @bitmap.width / 10
  191.       sprite.src_rect.x = 0 if sprite.src_rect.x < 0
  192.     end
  193. #~     old_sprite.bitmap = nil
  194. #~     old_sprite = nil
  195. #~     sprite.visible = true
  196.   end
  197.   #--------------------------------------------------------------------------
  198.   # ● 位拆分
  199.   #--------------------------------------------------------------------------  
  200.   def dew(x)
  201.     return unless x.is_a?(Integer)
  202.     de = []
  203.     i = x % 10
  204.     while x >= 10
  205.       i = x % 10
  206.       de.push(i)
  207.       x /= 10
  208.     end
  209.     de.push(x)
  210.     return de
  211.   end
  212. end
复制代码


这个是效果图:



请注意红色框,发现什么了吧??(我语文不好,所以就不多说了)

求解决办法?{/hx}{/hx}

可以的话,顺便把 index 的刷新也解决了吧{/hx}。

至于报酬什么的,请开价。 前提是我能付的起。{/hx}
作者: 約束    时间: 2008-9-19 00:41
提示: 作者被禁止或删除 内容自动屏蔽
作者: kissye    时间: 2008-9-19 01:11
提示: 作者被禁止或删除 内容自动屏蔽
作者: 沉影不器    时间: 2008-9-19 01:14
提示: 作者被禁止或删除 内容自动屏蔽
作者: 八云紫    时间: 2008-9-19 01:17
http://rpg.blue/upload_program/goods/Number-_102186884.png


那个,本来是想丢掉 @digits_max,用 @number.size 来替换的。后来一想觉得不怎么好,所以

就又加上去了。


光标的话, 是依照 Window_Inputnumber 来写的, 所以 继承的是 Window_Base 。

以下引用沉影不器于2008-9-18 17:14:52的发言:

实现什么功能



实现当玩家按下 上 方向键改变数字的时候, 数字有一种从下向上改变的过程。
作者: yangff1    时间: 2008-9-19 01:19
提示: 作者被禁止或删除 内容自动屏蔽
作者: 八云紫    时间: 2008-9-19 01:23
具体说下好了:

比如, 个位数字是 0 , 当玩家按下 上 的时候, 数字 1 就会在个位数字 0 的下面上升,慢

慢替代本来的个位数字。
作者: 沉影不器    时间: 2008-9-19 01:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: 八云紫    时间: 2008-9-19 01:24
恩恩。
作者: kissye    时间: 2008-9-19 01:28
提示: 作者被禁止或删除 内容自动屏蔽
作者: 八云紫    时间: 2008-9-19 01:30
以下引用kissye于2008-9-18 17:28:54的发言:

那个,@viewport的宽度不对啊,大于一个数字的宽度
于是假如万位数字是4,不管后面千位百位实际是多少,都会变成4 5 6 7 8 9(89都显示到个位后面去了)
而千位本身的数字和万位导致的5重叠,就变成你顶楼图里的情况了

另外,一开始active = false的话,建议index = -1吖


这个也算是一个问题吧。 主要的问题在于, 后面出现的 数字不会消失。
作者: 沉影不器    时间: 2008-9-19 01:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: kissye    时间: 2008-9-19 01:33
提示: 作者被禁止或删除 内容自动屏蔽
作者: 八云紫    时间: 2008-9-19 01:37
以下引用沉影不器于2008-9-18 17:31:47的发言:

您似乎用sprite实现,换我写可能还用window,有现成的viewport和ox oy...


就是说,使用 viewport 的 ox oy 来替换掉 sprite 的 ox oy。 这样说话,似乎每位数字都要

创建一个 viewport 。 恩, 具体怎么实现么??

以下引用kissye于2008-9-18 17:33:48的发言:


以下引用八云紫于2008-9-18 17:30:50的发言:

这个也算是一个问题吧。 主要的问题在于, 后面出现的 数字不会消失。



那个是同一个问题-0-
sprite = Sprite.new(@viewport)      
sprite.bitmap = @bitmap
sprite.x = old_sprite.x
sprite.y = 0
sprite.src_rect.x = old_sprite.src_rect.x
这一段里要么改一下@viewport的宽度,要么改一下src_rect的宽度


src_rect的宽度 改变的话, 可能会出现 数字显示不全的问题的说。

@viewport的宽度 是为了测试的方便才故意变大点的,没怎么细调。{/hx}
作者: kissye    时间: 2008-9-19 01:51
提示: 作者被禁止或删除 内容自动屏蔽
作者: 八云紫    时间: 2008-9-19 02:05
old_sprite.dispose 也试过了, 可以会出错。

发生 RGSSErroe

disposed sprite 。
作者: link006007    时间: 2008-9-19 02:08
应该是new的太多了   引用同源的图像的话  应该不会有这种情况
作者: 八云紫    时间: 2008-9-19 02:09
以下引用link006007于2008-9-18 18:08:23的发言:

应该是new的太多了   引用同源的图像的话  应该不会有这种情况


好吧,修改了一下, 错误是不发生了。 可是数字也没掉了。{/dk}
作者: kissye    时间: 2008-9-19 02:11
提示: 作者被禁止或删除 内容自动屏蔽
作者: link006007    时间: 2008-9-19 02:14
要上课了 - -b
反正  我觉得就是引用同源位图, 而不需要一直new
这个和角色行走图是一个道理    如果我没理解错误题目的话
作者: 八云紫    时间: 2008-9-19 02:14
哎呀呀,可以了也。 到底是哪里出错了???
作者: kissye    时间: 2008-9-19 02:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: 八云紫    时间: 2008-9-19 02:16
那个,新的问题也来了。

当数字是 0 的时候,再减掉的话,会出现很怪异的事情。 数字没掉了。
作者: 一路一风尘    时间: 2008-9-19 02:17
提示: 作者被禁止或删除 内容自动屏蔽
作者: kissye    时间: 2008-9-19 02:20
提示: 作者被禁止或删除 内容自动屏蔽
作者: 八云紫    时间: 2008-9-19 02:31
OK 解决了。

那个报酬 是多少呢?  kissye姐。

以下引用一路一风尘于2008-9-18 18:17:54的发言:

可以利用fill_rect(Rect.new(x,y,w,h), Color.new(255,255,255,0))清除局部图像。


这个也可以用????
作者: kissye    时间: 2008-9-19 02:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: 一路一风尘    时间: 2008-9-19 02:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: 八云紫    时间: 2008-9-19 02:36
以下引用一路一风尘于2008-9-18 18:34:22的发言:

试一下就晓得喽。


但是感觉也会把要显示的东西也覆盖掉。

以下引用kissye于2008-9-18 18:34:01的发言:

报酬不重要,心意才重要,嗷嗷~
vip又不能吃....


恩 VIP 不能吃,不过给的也是一点心意嘛。  等价交换的。{/hx}
作者: 一路一风尘    时间: 2008-9-19 02:43
提示: 作者被禁止或删除 内容自动屏蔽
作者: 八云紫    时间: 2008-9-19 02:46
以下引用一路一风尘于2008-9-18 18:43:25的发言:


但是感觉也会把要显示的东西也覆盖掉。


那个东西仿佛一块橡皮擦,x,y,w,h,可以自我控制范围,擦完再写比更新整个窗体节约的多。


也是,反正 update 一帧调用一次。 又学到新的东西了{/hx}。
作者: hitlerson    时间: 2008-9-19 02:57
晚來的人飄過,不知道解決了否?
作者: 做游戏的新手    时间: 2008-9-19 03:07
八云大大的问题。。{/fd}
作者: 八云紫    时间: 2008-9-19 03:08
以下引用做游戏的新手于2008-9-18 19:07:21的发言:

八云大大的问题。。


是个很新手的问题,只是我的想法有点废材{/hx}。
作者: zh99998    时间: 2008-9-19 03:09
紫饭团的zh99998路过[LINE]1,#dddddd[/LINE]
重金悬赏 这几个字很刺眼……即使你付得起也没人敢要 [LINE]1,#dddddd[/LINE]版主对此帖的评论:『确实嘛,这个问题困扰了我三天,现在算是解决了』,积分『-0』。这些被扣积分的一半会用于对本帖正确答案的悬赏。
作者: hitlerson    时间: 2008-9-19 03:33
以下引用沉影不器于2008-9-18 17:31:47的发言:

您似乎用sprite实现,换我写可能还用window,有现成的viewport和ox oy...


其實創建的那個viewport跟花瓶
作者: 沉影不器    时间: 2008-9-19 06:22
提示: 作者被禁止或删除 内容自动屏蔽
作者: link006007    时间: 2008-9-19 09:44
不知道lz说的那个index问题是什么...
但是滚动图片这样子是没问题的: (看了一下,写的和ls一样{/gg}, 不过ls整个图像用窗体的ox,oy来滑动, 不会把整行图像一起滑动吗?)

PS: 最后一张和第一张之间出现空白, 那是默认icon图第一张空白 - -

  1. class Window_IconRoll < Window_Base
  2.   def initialize(x, y, w)
  3.     super(x, y, w, 56);
  4.     @bitmapIndex           = 0;
  5.     @pRectTop              = Rect.new(0, 0, 1, 1)
  6.     @pRectDown             = @pRectTop.clone();
  7.     update
  8.   end
  9.   def update()
  10.     if (true == self.active)
  11.       lastBitmapIndex     = @bitmapIndex;
  12.       if (Input.repeat?(Input::UP))
  13.         @bitmapIndex        += 1;
  14.         @bitmapIndex        %= 10;
  15.         Sound.play_cursor
  16.         move_icon(true, lastBitmapIndex, @bitmapIndex, 32);
  17.       end
  18.       if (Input.repeat?(Input::DOWN))
  19.         @bitmapIndex        += 9;
  20.         @bitmapIndex        %= 10;
  21.         Sound.play_cursor
  22.         move_icon(false, @bitmapIndex, lastBitmapIndex, 32);
  23.       end
  24.     end
  25.   end
  26.   def move_icon(bIsUpRoll, nLastBitmapIndex, nCurBitmapIndex, x)
  27.     bitmap = Cache.system("Iconset")
  28.     icon_rect(nLastBitmapIndex, @pRectTop);
  29.     icon_rect(nCurBitmapIndex, @pRectDown);
  30.     if (true == bIsUpRoll)
  31.       nYTop     = 0;
  32.       nYDown    = 24;
  33.       while (0 < nYDown)
  34.         self.contents.clear_rect(x, 0,
  35.           @pRectTop.width, @pRectTop.height);  # vx 的 clear 是可以局部刷新的
  36.         nYTop        -= 1;
  37.         nYDown       -= 1;
  38.         self.contents.blt(x, nYTop, bitmap, @pRectTop, 255);
  39.         self.contents.blt(x, nYDown, bitmap, @pRectDown, 255);
  40.         Graphics.update
  41.       end
  42.     else
  43.       nYTop     = -24;
  44.       nYDown    = 0;
  45.       while (0 > nYTop)
  46.         nYTop        += 1;
  47.         nYDown       += 1;
  48.         self.contents.clear_rect(x, 0,
  49.           @pRectTop.width, @pRectTop.height);  # vx 的 clear 是可以局部刷新的
  50.         self.contents.blt(x, nYTop, bitmap, @pRectTop, 255);
  51.         self.contents.blt(x, nYDown, bitmap, @pRectDown, 255);
  52.         Graphics.update
  53.       end
  54.     end
  55.   end
  56.   def icon_rect(icon_index, pRect_Recv)
  57.     pRect_Recv.set(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
  58.   end
  59. end
复制代码

作者: 偶尔杀人越货    时间: 2008-9-19 17:47
幫八云姐頂貼,坐標設置錯誤?!


作者: yangff    时间: 2008-9-19 19:48
Byz_Vocab和图片发下OK?
作者: 沉影不器    时间: 2008-9-19 19:50
提示: 作者被禁止或删除 内容自动屏蔽
作者: yangff    时间: 2008-9-19 20:34
这个效果?
  1. class Bitmap1 < Bitmap
  2.   def draw_text(x, y, w, h, s)
  3.     @cb = Bitmap.new("Graphics/system/src.png") if @cb == nil
  4.     blt(x,y,@cb,Rect.new(s.to_i*32,0,[[w,32].min,0].max,[[h,32].min,0].max))
  5.   end
  6. end
  7. #==============================================================================
  8. # ■ Window_NumberInput
  9. #------------------------------------------------------------------------------
  10. #  信息窗口内部使用、输入数值的窗口。
  11. #==============================================================================

  12. class Window_NumberInput < Window_Base
  13.   #--------------------------------------------------------------------------
  14.   # ● 生成窗口内容
  15.   #--------------------------------------------------------------------------
  16.   def create_contents
  17.     self.contents.dispose
  18.     self.contents = Bitmap1.new(width - 32, height - 32)
  19.   end
  20.   #--------------------------------------------------------------------------
  21.   # ● 初始化对像
  22.   #     digits_max : 位数
  23.   #--------------------------------------------------------------------------
  24.   def initialize
  25.     super(0, 0, 544, 64)
  26.     @number = []
  27.     @digits_max = 6
  28.     @index = 0
  29.     self.opacity = 0
  30.     self.active = false
  31.     self.z += 9999
  32.     refresh
  33.     update_cursor
  34.   end
  35.   #--------------------------------------------------------------------------
  36.   # ● 取得数值
  37.   #--------------------------------------------------------------------------
  38.   def number
  39.     return @number.to_s.to_i
  40.   end
  41.   #--------------------------------------------------------------------------
  42.   # ● 设置数值
  43.   #     number : 新的数值
  44.   #--------------------------------------------------------------------------
  45.   def number=(number)
  46.     number = number.to_s.scan(/./)
  47.     @number = number
  48.     for i in 0...@digits_max
  49.       @number[i] = 0 if @number[i].to_s == ""
  50.     end
  51.     @index = 0
  52.     refresh
  53.   end
  54.   #--------------------------------------------------------------------------
  55.   # ● 获取位数
  56.   #--------------------------------------------------------------------------
  57.   def digits_max
  58.     return @digits_max
  59.   end
  60.   #--------------------------------------------------------------------------
  61.   # ● 设置位数
  62.   #     digits_max : 新位数
  63.   #--------------------------------------------------------------------------
  64.   def digits_max=(digits_max)
  65.     @digits_max = digits_max
  66.     for i in 0...digits_max
  67.       @number[i] = 0 if @number[i].to_s == ""
  68.     end
  69.     refresh
  70.   end
  71.   #--------------------------------------------------------------------------
  72.   # ● 光标右移
  73.   #     wrap : 允许循环
  74.   #--------------------------------------------------------------------------
  75.   def cursor_right(wrap)
  76.     if @index < @digits_max - 1 or wrap
  77.       @index = (@index + 1) % @digits_max
  78.     end
  79.   end
  80.   #--------------------------------------------------------------------------
  81.   # ● 光标左移
  82.   #     wrap : 允许循环
  83.   #--------------------------------------------------------------------------
  84.   def cursor_left(wrap)
  85.     if @index > 0 or wrap
  86.       @index = (@index + @digits_max - 1) % @digits_max
  87.     end
  88.   end
  89.   #--------------------------------------------------------------------------
  90.   # ● 更新画面
  91.   #--------------------------------------------------------------------------
  92.   def update
  93.     super
  94.     if self.active
  95.       if Input.repeat?(Input::UP) or Input.repeat?(Input::DOWN)
  96.         Sound.play_cursor
  97.         n = @number[@index]
  98.         if Input.repeat?(Input::UP)
  99.           n = (n.to_i)+1
  100.           n = 0 if n > 9
  101.         end
  102.         if Input.repeat?(Input::DOWN)
  103.           n = (n.to_i) -1
  104.           n = 9 if n < 0
  105.         end
  106.         c = @number[@index]
  107.         @number[@index] = n
  108.         ch_no(@index,c,n)
  109.         refresh
  110.       end
  111.       last_index = @index
  112.       if Input.repeat?(Input::RIGHT)
  113.         cursor_right(Input.trigger?(Input::RIGHT))
  114.       end
  115.       if Input.repeat?(Input::LEFT)
  116.         cursor_left(Input.trigger?(Input::LEFT))
  117.       end
  118.       if @index != last_index
  119.         Sound.play_cursor
  120.       end
  121.       update_cursor
  122.     end
  123.   end
  124.   #--------------------------------------------------------------------------
  125.   # ● 刷新
  126.   #--------------------------------------------------------------------------
  127.   def refresh
  128.     self.contents.clear
  129.     self.contents.font.color = normal_color
  130.     x = 0
  131.     y = 0
  132.     for i in @number
  133.       self.contents.draw_text(24+x,y,32,64,i.to_s)
  134.       x += 32
  135.     end
  136.   end
  137.   def base_update
  138.     last_index = @index
  139.     if self.active
  140.       if Input.repeat?(Input::RIGHT)
  141.         cursor_right(Input.trigger?(Input::RIGHT))
  142.       end
  143.       if Input.repeat?(Input::LEFT)
  144.         cursor_left(Input.trigger?(Input::LEFT))
  145.       end
  146.       if @index != last_index
  147.         Sound.play_cursor
  148.       end
  149.       update_cursor
  150.     end
  151.    
  152.     Graphics.update
  153.   end
  154.   #--------------------------------------------------------------------------
  155.   # ● 刷新光标
  156.   #--------------------------------------------------------------------------
  157.   def update_cursor
  158.     self.cursor_rect.set(24 + @index * 32, 0, 32, 32)
  159.   end
  160.   def ch_no(i,s,n)
  161.     for ii in 1..40
  162.       self.contents.clear_rect(24+i*32, 0, 32, 32)
  163.       self.contents.draw_text(24+i*32,0-ii,32,32,s)
  164.       self.contents.draw_text(24+i*32,41-ii,32,32,n)
  165.       base_update
  166.     end
  167.   end
  168. end
复制代码

作者: 八云紫    时间: 2008-9-19 21:28
嘛,好多版本的。 不过问题解决了。 要VIP的就说吧{/hx}。
作者: 柳之一    时间: 2008-9-19 21:58
以下引用八云紫于2008-9-19 13:28:15的发言:

嘛,好多版本的。 不过问题解决了。 要VIP的就说吧。

天生脚本必有用,vip散尽还复来
作者: CIS狂人    时间: 2008-9-19 23:07
“VIP”....
好囧。
类似问题找我研究(被T飞)




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1