| 赞 | 0  | 
 
| VIP | 0 | 
 
| 好人卡 | 3 | 
 
| 积分 | 1 | 
 
| 经验 | 14100 | 
 
| 最后登录 | 2024-6-29 | 
 
| 在线时间 | 393 小时 | 
 
 
 
 
 
Lv1.梦旅人 
	- 梦石
 - 0 
 
        - 星屑
 - 105 
 
        - 在线时间
 - 393 小时
 
        - 注册时间
 - 2008-11-7
 
        - 帖子
 - 353
 
 
 
 | 
	
- #Flash 播放器 v1.3   作者:灼眼的夏娜
 
  
- class String
 
 -   
 
 -   CP_ACP = 0
 
 -   CP_UTF8 = 65001
 
 -   
 
 -   def u2s
 
 -     m2w = Win32API.new("kernel32", "MultiByteToWideChar", "ilpipi", "i")
 
 -     w2m = Win32API.new("kernel32", "WideCharToMultiByte", "ilpipipp", "i")
 
 -     
 
 -     len = m2w.call(CP_UTF8, 0, self, -1, nil, 0)
 
 -     buf = "\0" * (len*2)
 
 -     m2w.call(CP_UTF8, 0, self, -1, buf, buf.size/2)
 
 -     
 
 -     len = w2m.call(CP_ACP, 0, buf, -1, nil, 0, nil, nil)
 
 -     ret = "\0" * len
 
 -     w2m.call(CP_ACP, 0, buf, -1, ret, ret.size, nil, nil)
 
 -     
 
 -     return ret
 
 -   end
 
 -   
 
 -   def s2u
 
 -     m2w = Win32API.new("kernel32", "MultiByteToWideChar", "ilpipi", "i")
 
 -     w2m = Win32API.new("kernel32", "WideCharToMultiByte", "ilpipipp", "i")
 
 -   
 
 -     len = m2w.call(CP_ACP, 0, self, -1, nil, 0);
 
 -     buf = "\0" * (len*2)
 
 -     m2w.call(CP_ACP, 0, self, -1, buf, buf.size/2);
 
 -   
 
 -     len = w2m.call(CP_UTF8, 0, buf, -1, nil, 0, nil, nil);
 
 -     ret = "\0" * len
 
 -     w2m.call(CP_UTF8, 0, buf, -1, ret, ret.size, nil, nil);
 
 -      
 
 -     return ret
 
 -   end
 
  
-   def s2u!
 
 -     self[0, length] = s2u
 
 -   end  
 
 -   
 
 -   def u2s!
 
 -     self[0, length] = u2s
 
 -   end
 
 -   
 
 - end
 
  
- class Bitmap
 
 -   
 
 -   RtlMoveMemory_pi = Win32API.new('kernel32', 'RtlMoveMemory', 'pii', 'i')
 
 -   RtlMoveMemory_ip = Win32API.new('kernel32', 'RtlMoveMemory', 'ipi', 'i')
 
  
-   def address
 
 -     buffer, ad = "xxxx", object_id * 2 + 16
 
 -     RtlMoveMemory_pi.call(buffer, ad, 4); ad = buffer.unpack("L")[0] + 8
 
 -     RtlMoveMemory_pi.call(buffer, ad, 4); ad = buffer.unpack("L")[0] + 16
 
 -     RtlMoveMemory_pi.call(buffer, ad, 4); return buffer.unpack("L")[0]
 
 -   end
 
 -   
 
 - end 
 
  
- class RMFlash
 
  
-         API_NEW                      = Win32API.new("RMFlash", "_new", "piil", "l")
 
 -         API_UPDATE            = Win32API.new("RMFlash", "_update", "l", "v")
 
 -         API_FREE              = Win32API.new("RMFlash", "_free", "l", "v")
 
 -         API_PLAYING     = Win32API.new("RMFlash", "_is_playing", "l", "i")
 
 -         API_PAUSE              = Win32API.new("RMFlash", "_pause", "l", "v")
 
 -         API_RESUME            = Win32API.new("RMFlash", "_resume", "l", "v")
 
 -         API_BACK              = Win32API.new("RMFlash", "_back", "l", "v")
 
 -         API_REWIND            = Win32API.new("RMFlash", "_rewind", "l", "v")
 
 -         API_FORWARD            = Win32API.new("RMFlash", "_forward", "l", "v")
 
 -         API_CURFRAME          = Win32API.new("RMFlash", "_cur_frame", "l", "i")
 
 -         API_TOTALFRAME        = Win32API.new("RMFlash", "_total_frames", "l", "i")
 
 -         API_GOTOFRAME          = Win32API.new("RMFlash", "_goto_frame", "li", "v")
 
 -         API_GETLOOP                  = Win32API.new("RMFlash", "_get_loop", "l", "i")
 
 -         API_SETLOOP                  = Win32API.new("RMFlash", "_set_loop", "li", "v")
 
 -         API_CLEARALL          = Win32API.new("RMFlash", "_clear_all", "v", "v")
 
 -   API_VALID       = Win32API.new("RMFlash", "_valid", "l", "i")
 
 -   API_SENDMSG     = Win32API.new("RMFlash", "_send_message", "liii", "l")
 
 -         
 
 -   CUR_PATH        = Dir.pwd
 
 -   
 
 -         def self.get_version
 
  
-         end
 
  
-         def self.clear_all
 
 -                 API_CLEARALL.call
 
 -         end
 
 -   
 
 -   def self.load(name, width, height, v = nil)
 
 -     new("#{CUR_PATH}/#{name}".u2s, width, height, v)
 
 -   end
 
 -   
 
 -   attr_reader   :valid
 
  
-         def initialize(flash_name, flash_width, flash_height, viewport = nil)
 
 -                 @sprite = Sprite.new(viewport)
 
 -                 @sprite.bitmap = Bitmap.new(flash_width, flash_height)
 
 -                 @value = API_NEW.call(flash_name, flash_width, flash_height, @sprite.bitmap.address)
 
 -                 @loop = API_GETLOOP.call(@value) > 0
 
 -     @valid = API_VALID.call(@value) > 0
 
 -         end
 
  
-         def viewport
 
 -                 @sprite.viewport
 
 -         end
 
  
-         def update
 
 -                 API_UPDATE.call(@value)
 
 -         end
 
  
-         def dispose
 
 -                 API_FREE.call(@sprite.bitmap.address)
 
 -     @sprite.dispose#AVG
 
 -         end
 
  
-         def playing?
 
 -                 API_PLAYING.call(@value) > 0
 
 -         end
 
  
-         def pause
 
 -                 API_PAUSE.call(@value)
 
 -         end
 
  
-         def resume
 
 -                 API_RESUME.call(@value)
 
 -         end
 
  
-         def back
 
 -                 API_BACK.call(@value)
 
 -         end
 
  
-         def rewind
 
 -                 API_REWIND.call(@value)
 
 -         end
 
  
-         def forward
 
 -                 API_FORWARD.call(@value)
 
 -         end
 
  
-         def current_frame
 
 -                 API_CURFRAME.call(@value)
 
 -         end
 
  
-         def total_frames
 
 -                 API_TOTALFRAME.call(@value)
 
 -         end
 
  
-         def goto_frame(goal_frame)
 
 -                 API_GOTOFRAME.call(@value, goal_frame)
 
 -         end
 
  
-         def x
 
 -                 @sprite.x
 
 -         end
 
  
-         def x=(v)
 
 -                 @sprite.x = v
 
 -         end
 
  
-         def y
 
 -                 @sprite.y
 
 -         end
 
  
-         def y=(v)
 
 -                 @sprite.y = v
 
 -         end
 
  
-         def z
 
 -                 @sprite.z
 
 -         end
 
  
-         def z=(v)
 
 -                 @sprite.z = v
 
 -         end
 
  
-         def width
 
 -                 @sprite.bitmap.width
 
 -         end
 
  
-         def height
 
 -                 @sprite.bitmap.height
 
 -         end
 
  
-         def loop?
 
 -                 @loop
 
 -         end
 
  
-         def loop=(v)
 
 -                 if @loop != v
 
 -                         @loop = v
 
 -                         API_SETLOOP.call(@value, v)
 
 -                 end
 
 -         end
 
 -   
 
 -   def msg_to_flash(msg, wParam, lParam)
 
 -     return API_SENDMSG.call(@value, msg, wParam, lParam)
 
 -   end
 
 -   
 
 -   #  例
 
 -   WM_MOUSEMOVE  = 0x0200
 
 -   
 
 -   def make_long(a, b)
 
 -     return (a & 0xffff ) | (b & 0xffff) << 16
 
 -   end
 
 -   
 
 -   def on_mouse_move(x, y)
 
 -     return msg_to_flash(WM_MOUSEMOVE, 0, make_long(x, y))
 
 -   end
 
  
- end
 
  
- module Kernel
 
  
-   alias origin_exit exit unless method_defined? :exit
 
 -   
 
 -   def exit(*args)
 
 -     RMFlash.clear_all
 
 -     origin_exit(*args)
 
 -   end
 
 -   
 
 - end
 
  
 
- #fls = RMFlash.load("2.swf", 640, 480)
 
  
- #while true
 
 - #        Graphics.update
 
 - #        Input.update
 
 - #        fls.update
 
 - #        break if Input.trigger?(13)
 
 - #end
 
 - #fls.dispose
 
  
- #exit
 
  
- =begin
 
 - class RMFlash
 
 -   API_NEW = Win32API.new("RMFlash", "_new", "piil", "l")
 
 -   API_UPDATE = Win32API.new("RMFlash", "_update", "l", "v")
 
 -   API_FREE = Win32API.new("RMFlash", "_free", "l", "v")
 
 -   #def self.new(*args)
 
 -   #  obj = super(*args)
 
 -   #  obj.send :initialize, *args
 
 -   #  obj
 
 -   #end
 
 -   
 
 -   def initialize(flashname, fw, fh)
 
 -     
 
 -   end
 
 -   
 
 - end
 
  
- RMFlash.new
 
 - exit
 
 - =end
 
  
- #==============AVG新加Flash类播放修改TT======================
 
  
- class Flash
 
 -   def initialize(name,sizex=640,sizey=480,loop=nil,x=0,y=0,z=99999)
 
 -     @fls = RMFlash.load(name, sizex, sizey)
 
 -     @fls.x = x
 
 -     @fls.y = y
 
 -     @fls.z = z
 
 -     if loop != nil
 
 -     @fls.loop = loop
 
 -     end
 
 - while true
 
 -         Graphics.update
 
 -         #Input.update
 
 -         @fls.update
 
 -          break if [email protected]?
 
 -    if $game_switches[8] == true#AVG如果看片头中跳回标题
 
 -             Input.update
 
 -           if Input.trigger?(Input::B)
 
 -           $scene = Scene_Title.new 
 
 -           break
 
 -         end
 
 -       else
 
 -         Input.update
 
 -             break if Input.trigger?(Input::B)
 
 -      end
 
 -     end
 
 -    @fls.dispose
 
 -   end
 
 - end
 
  复制代码 使用方法:首先在游戏目录里建一个文件夹名字为Music 
在事件里建个脚本把下列哪句复制过去 
注意视频一定是swf格式的,如果还不明白请联系我QQ:1095773050- Flash.new("Music/你的视频名称.swf",640,480,1)
 
  复制代码 |   
 
评分
- 
查看全部评分
 
 
 
 
 
 |