VX 스크립트

#===============================================================================
# By trebor777
# Date: 26/10/2008
# Version 1.5 - Updated 27/10/2008
#-------------------------------------------------------------------------------
# RMVX Avi Player
#
# Instructions:
#   Video Specification ( to ensure good playability )
#     Recommended encoding:  Xvid + MP3 CBR  (very important to keep a constant
#     bit rate for the audio, else it won't play it)
#     Video Resolution : Up to 640*480
#     Save the videos into a new folder called Movies in your project root folder.
#  
#   Call in an event(using the call script command) or in your script:
#    
#     Movie.play("myvideo",width,height)
#     Movie.play("myvideo")
#
#    By providing the dimensions of your video, if smaller than 640*480, the script
#    will stretch it in the window(or in the screen if in fullscreen), to fit a
#    width of 640px, but keeping the original aspect ratio.
#
#    Don't need to provide the dimensions if the video is 640*480.
#===============================================================================
module Movie
  attr_accessor :fps
  def self.play(movie, width=Graphics.width, height=Graphics.height)
    movie= "./Movies/#{movie}.avi"
    fps = 24
    readini= Win32API.new 'kernel32', 'GetPrivateProfileStringA', %w(p p p p l p), 'l'
    wnd= Win32API.new('user32','FindWindowEx','%w(l,l,p,p)','L')
    @mplayer= Win32API.new('winmm','mciSendString','%w(p,p,l,l)','V')
    @detector = Win32API.new('user32','GetSystemMetrics','%w(l)','L')
    timer= 1.0/fps
    info= " " * 255
    game_name= "\0" * 256
    readini.call('Game','Title','',game_name,255,".\\Game.ini")
    game_name.delete!("\0")
    hwnd= wnd.call(0,0,nil,game_name).to_s
    @mplayer.call("open #{movie} alias FILM style child parent #{hwnd}",0,0,0)
    @mplayer.call("status FILM length",info,255,0)
    movie_lenght = info.unpack("a*")[0].gsub!("\000","").to_i
    info= " " * 255
    @ratio = height.to_f/width
    @width = 0
    self.update_stretch
    @mplayer.call("play FILM window",0,0,0)
    loop do
      sleep(timer)
      Input.update
      update_stretch
      @mplayer.call("status FILM mode",info,255,0)
      s= info.unpack("a*")[0].gsub!("\000","")
      break if Input.repeat?(Input::B) or s.to_s == "stopped"
    end
    @mplayer.call("close FILM",0,0,0)
    Input.update
  end
  def self.update_stretch
    n_w = @detector.call(0)
    if @width != n_w
      @width = n_w
      w = (n_w == 544)? 544 : Graphics.width
      h = (n_w == 544)? 416 : Graphics.height
      new_height = (w*@ratio).round
      @mplayer.call("put FILM window at 0 #{(h-new_height)/2} #{w} #{new_height}",0,0,0)
    end
  end
end

 

http://www.youtube.com/watch?v=FnIos3gKytY

여기에서 찾았습니다~^^

하지만

대신 제가 설명해드리죠~^^

 

movie= "./Movies/#{movie}.avi"

이것은 게임프로젝트/Movies 폴더를 만들어야 하지요!

그리고 확장자는 avi로 해야되고요!

이 RPG VX 해상도가 544x416이니

동영상 크기는 당연히 544x416이여야 합니다!

 

그리고 동영상을 실행할려면

 

Movie.play("myvideo")

 

이런식으로 해야됩니다!

[이벤트 커맨드에 스크립트란 기능으로여~!]

Who's 짭뿌C

profile

Game Maker Studio 2를 주로 사용합니다!

블로그 : http://blog.naver.com/qorwhddlrz

Comment '34'
  • ?
    반내림 2012.10.26 22:49
    와..엄청나네요
  • ?
    노바로스 2013.02.26 18:43
    근데 실행법은 어떻게 해요?
  • profile
    지혈이 2013.07.23 17:23 Files첨부 (1)

    은색바람님... 스크립트 오류가 떠요 ㅠㅠ

  • profile
    짭뿌C 2013.07.24 13:27

    흠 스크립트에 문법오류가 있다고 에러가 뜨는 것 같습니다.

    아래 Alkaid님이 주소 써주셨네요!

  • profile
    지혈이 2013.07.24 14:02
    아..그렇군요 감사합니다ㅎ
  • profile
    은색바람 2013.07.24 14:47
    아 잠깐만요
    스크립트 자체는 문제가 없네요
    아마 다른 스크립트에 문제가 있거나 사용한것에 문제가 있는것 같습니다.
  • ?
    은색바람님 축하합니다.^^ 2013.07.24 14:47
    포인트 팡팡!에 당첨되셨습니다.
    은색바람님은 2포인트를 보너스로 받으셨습니다.
  • profile
    지혈이 2013.07.24 20:31
    아 그렇군요 감사합니다
  • ?
    미루 2013.07.24 14:29
    ..........
  • ?
    AltusZeon 2014.01.06 13:41
    저건 스크립트가 무한반복된다는 의미가 아닙니다.
    문법 오류입니다.
  • profile
    짭뿌C 2014.01.06 14:14
    하도 do while 반복문을 많이 봐서 while을 반복으로 해석해버렸네요...
    내용 수정하도록 하겠습니다.
  • ?
    Alkaid 2013.07.24 19:41
    다른 링크: http://pastebin.com/kiM9rENe
  • profile
    지혈이 2013.07.24 20:31
    감사드립니다 ^^ ㅎ
  • ?
    아아아ㅏ앙ㅇㅇㅇㅇ 2013.08.02 20:16
    어떻게 적용하죠..
  • ?
    아아아ㅏ앙ㅇㅇㅇㅇ님 축하합니다.^^ 2013.08.02 20:16
    포인트 팡팡!에 당첨되셨습니다.
    아아아ㅏ앙ㅇㅇㅇㅇ님은 18포인트를 보너스로 받으셨습니다.
  • ?
    REAL 2013.12.25 08:06
    AVI 영상이뭐죠
  • profile
    짭뿌C 2013.12.25 10:28
    .avi 확장자를 가진 영상 파일입니다!
  • ?
    짭뿌C님 축하합니다.^^ 2013.12.25 10:28
    포인트 팡팡!에 당첨되셨습니다.
    짭뿌C님은 17포인트를 보너스로 받으셨습니다.
  • ?
    REAL 2013.12.25 11:29
    그러면 제일 앞에 시작할때 프롤로그 영상같은것도 넣을수 있나요?>
  • profile
    짭뿌C 2013.12.25 15:01
    타이틀 부분에서 Movie.play("myvideo") 를 호출하면 될것같습니다.
  • ?
    REAL 2013.12.25 15:24
    호출을 어떻게하죠? (잘멍청아) 아 계속 물어서 너무 죄송하네요..
  • profile
    짭뿌C 2013.12.25 21:33
    http://avangs.info/index.php?_filter=search&mid=rgss_vx&search_keyword=%ED%83%80%EC%9D%B4%ED%8B%80&search_target=title&document_srl=264491
    여기서 이 스크립트를 이용하셔서 타이틀을 만든후, 이벤트에 스크립트로
    Movie.play("myvideo") 라고 쓰셔도 되고,
    아니면 스크립트 메뉴에서 스크립트 하나 추가하셔서
    Movie.play("myvideo") 한번 해보시기바랍니다.
    저도 루비에 대해서 잘 아는건 아니라서엽...ㅠ-ㅠ
  • ?
    REAL 2013.12.25 21:50
    정말 감사합니다. 이렇게 까지 신경써주셔서 감동이에요 ㅜㅜ
  • profile
    타치바나카나데 2014.01.06 10:55
    음.. 영상을 넣는 폴더 경로좀 자세히 알려주세요..
    Movie.play("myvideo") 이거 스트립트에 넣는건 알겠는데..
  • profile
    짭뿌C 2014.01.06 12:52
    경로는 movie= "./Movies/#{movie}.avi" 이것입니다.
    자신의 게임경로/Movies 폴더에 영상이름.avi
  • profile
    타치바나카나데 2014.01.06 21:06
    잌.. 게임경로가 정확히 어디죠?
    내문서-RPGVX-첫번째 테스트(제 프로젝트이름)-system등등
    이렇게있는데
  • profile
    짭뿌C 2014.01.06 21:25
    Game.exe 있는 폴더에 Movies 폴더
  • profile
    타치바나카나데 2014.01.06 21:30
    아.. 폴더는 맞게했는데
    mp4로 해버렸내요 해상도는 맞춰놓고.. 그걸 잊었내요
    감사합니다
  • profile
    타치바나카나데 2014.01.06 22:03

    스크립트에디더에 Movie.play("myvideo") 을 넣고
    비디오해상도는 544*416 avi 로 하고 이름은 myvideo 라고 하면 잘실행되내요 ㅎ

  • profile
    짭뿌C 2014.01.07 01:02
    오 실행됬다니 다행입니다ㅎ
  • profile
    눈깨비 2014.04.05 21:26

    스크립트 저장후, 프로젝트 폴더의 movis 에 넣었음에도 계속해서 스크립트 에러가 뜹니다 ㅠㅠ
    SyntaxError occurred while running script. 기존 올려놓으신 스크립트에 어떤 수정도 안했는데, 이렇게 됩니다....

    으으.도와주세요...

  • profile
    Omegaroid 2014.04.05 21:43
    스크립트 에디터 여신 다음 아래 나오는 부분들을 고쳐주시면 될겁니다. VX 한글화하다가 기본 스크립트 잘못된 부분입니다.


    //-----------------------------------------------------
    Game_Interpreter섹션 1676줄
    수정전
    script = @list[@index].parameters[0] + "n"
    수정후
    script = @list[@index].parameters[0] + "\n"

    //-----------------------------------------------------
    Game_Interpreter섹션 1679줄
    수정전
    script += @list[@index+1].parameters[0] + "n"
    수정후
    script += @list[@index+1].parameters[0] + "\n"

    //-----------------------------------------------------
    Sprite_Character섹션 92번째 줄
    수정전
    sign = @character_name[/^[!$]./]
    수정후
    sign = @character_name[/^[\!\$]./]
    //-----------------------------------------------------
    Window_Base섹션 189번째 줄
    수정전
    sign = character_name[/^[!$]./]
    수정후
    sign = character_name[/^[\!\$]./]
  • profile
    눈깨비 2014.04.06 10:34

    우와와..정말로 감사합니다! 덕분에 고쳤습니다

    한글화 하다가 생긴 오류가 수정되지않아 스크립트 오류를 낼수도 있다고 햇는데 정말이였군요....

    정말로 감사합니다 ㅠㅠ

  • ?
    월유라 2014.06.23 23:54
    저는 왜 소리만 나올까요 ㅠㅠ