Project1

标题: 請問關於連續顯示圖片的腳本寫法 [打印本页]

作者: sdgn    时间: 2015-5-19 23:25
标题: 請問關於連續顯示圖片的腳本寫法
雖然XP為主....
但VX/VA也好看好心人方便用哪種...
請問有辦法讀取某資料夾中所有圖片按檔名順序以設定好的間隔時間連續顯示並且消除上一個顯示的圖片嗎? 要怎麼寫成無限循環?
由於圖法煉鋼的話我覺得比較麻煩而且會很多行....
作者: 芯☆淡茹水    时间: 2015-5-20 06:25
本帖最后由 芯☆淡茹水 于 2015-5-20 06:30 编辑
  1. #比如 Pictures 文件夹下名为 p0 ~ p9 这10张图片。
  2. @sprite = Sprite.new
  3. @picture_number = 0
  4. @count = 0
  5. loop do
  6.   Graphics.update
  7.   if @count % 200 == 0  # 每 200 帧换一张。
  8.     @sprite.bitmap.dispose if @sprite.bitmap
  9.     @sprite.bitmap = Bitmap.new("Graphics/Pictures/p#{@picture_number}")
  10.     @picture_number = (@picture_number + 1) % 10
  11.   end
  12.   @count += 1
  13. end
复制代码

作者: sdgn    时间: 2015-5-20 10:08
标题: 抱歉有個
本帖最后由 sdgn 于 2015-5-20 10:58 编辑
芯☆淡茹水 发表于 2015-5-20 06:25

成功了~ 十分感謝....
但請問能否預先偵測該資料夾總共有幾張然後只讀該數量對應編號的圖片?
作者: 芯☆淡茹水    时间: 2015-5-20 12:09
本帖最后由 芯☆淡茹水 于 2015-5-20 12:21 编辑
  1. #Pictures 文件夹下图片命名为 p0 , p1 , p2 ...... pn 。
  2. @sprite = Sprite.new
  3. @picture_number = 0
  4. @count = 0
  5. loop do
  6.   Graphics.update
  7.   if @count % 200 == 0  # 每 200 帧换一张。
  8.     unless FileTest.exist?("Graphics/Pictures/p#{@picture_number}.png")
  9.       @sprite.bitmap.dispose if @sprite.bitmap
  10.       @sprite.dispose
  11.       break
  12.     end
  13.     @sprite.bitmap.dispose if @sprite.bitmap
  14.     @sprite.bitmap = Bitmap.new("Graphics/Pictures/p#{@picture_number}")
  15.     @picture_number += 1
  16.   end
  17.   @count += 1
  18. end
复制代码

作者: sdgn    时间: 2015-5-20 12:13
本帖最后由 sdgn 于 2015-5-20 12:17 编辑
芯☆淡茹水 发表于 2015-5-20 12:09


非常感謝您~

作者: sdgn    时间: 2015-5-21 12:32
芯☆淡茹水 发表于 2015-5-20 12:09

抱歉請問有沒有辦法做成公用腳本讓我可以在地圖上用地圖腳本來呼叫使用?
作者: 芯☆淡茹水    时间: 2015-5-21 13:19
事件 ---> 脚本: picture_display
  1. def picture_display
  2.   #Pictures 文件夹下图片命名为 p0 , p1 , p2 ...... pn 。
  3.   @sprite = Sprite.new
  4.   @picture_number = 0
  5.   @count = 0
  6.   loop do
  7.     Graphics.update
  8.     if @count % 200 == 0  # 每 200 帧换一张。
  9.       @sprite.bitmap.dispose if @sprite.bitmap
  10.       unless FileTest.exist?("Graphics/Pictures/p#{@picture_number}.png")
  11.         @sprite.dispose
  12.         break
  13.       end
  14.       @sprite.bitmap = Bitmap.new("Graphics/Pictures/p#{@picture_number}")
  15.       @picture_number += 1
  16.     end
  17.     @count += 1
  18.   end
  19. end   
复制代码

作者: sdgn    时间: 2015-5-21 16:26
本帖最后由 sdgn 于 2015-5-21 16:31 编辑
芯☆淡茹水 发表于 2015-5-21 13:19
事件 ---> 脚本: picture_display


非常感謝您...
所以要做成API的話要用 def 宣告一個類別 嗎?





picture_display
          unless FileTest.exist?("Graphics/Pictures/p#{@picture_number}.png")
            @sprite.dispose
            break
          end

這樣用可以嗎?
我是想在地圖上依照不同情況讀取不同範圍的圖檔
(例如: P5~P10)


作者: kuerlulu    时间: 2015-5-25 12:34
本帖最后由 kuerlulu 于 2015-5-26 11:51 编辑
按LSS的方法稍作修改

然而我还有以前写的播放logo脚本(本质上功能是一样的)
使用姿势: logo(["001-Title01","jfkdjlfjd","fdhajkfhjkdsa"],5) # 将Titles文件夹(你可以改成别的文件夹只要你看得懂代码)内"001-Title01","jfkdjlfjd","fdhajkfhjkdsa"这三个文件进行速度5的播放(speed自己把握)。


然而我还是没明白LZ的意思 是用连续刷图做动画吗?@sdgn
作者: sdgn    时间: 2015-5-29 00:36
kuerlulu 发表于 2015-5-25 12:34
[fold=按LSS的方法稍作修改]使用姿势:
display_picture('p', 200, 5, 10) # 按每200帧一换的速度播放'p5'到 ...

為了做 自定義效果動畫 和 自定義的人物動作...
例如您說的 LOG
或是當我選擇 攻擊 的時候的人物動作...
作者: sdgn    时间: 2015-5-31 11:51
請問如何讓圖片的顯示優先權跟角色行走圖是同一個層級?




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