hỏi một chút về đoạn fim khởi đầu game

Thảo luận trong 'Game Development' bắt đầu bởi anhdung86, 21/2/06.

  1. anhdung86

    anhdung86 Donkey Kong Lão Làng GVN

    Tham gia ngày:
    26/10/05
    Bài viết:
    462
    mình đang muốn đưa một đoạn fim mình vừa tạo bằng windowmoviemaker ,nếu bây giờ mình muốn đưa đoạn fim này vào game sao cho lúc bắt đầu vào game thì tự động play rồi mới vào game(cũng như các đoạn quảng cáo tên nhà sản xuất và studiogame như các game bình thg)thì phải làm sao hả các bạn?mình đang dùng rpgmaker xp và 2003 ,bạn nào bít cách dạy mình với nha, xin thankz trước
     
  2. Dương44

    Dương44 Donkey Kong

    Tham gia ngày:
    8/2/06
    Bài viết:
    314
    Nơi ở:
    Hải Phòng
    Bạn trước hết phải có 1 Script để Play Movie đã , rồi hẵng tính đến đó , bạn có thể tham khảo qua Game của mình mới làm bên box Final Fantasy đó , còn Script để bật đoạn phim đó mình sẽ đưa lên sau , hiện ko vào dc :(( , thế nhé :D :hug: :-/ :>
     
  3. dekarvn

    dekarvn Donkey Kong

    Tham gia ngày:
    23/1/05
    Bài viết:
    369
    Nơi ở:
    Law City of Zenebatos
    sưu tầm bên rmxp.net:

    mở đầu script scene opening:
    hoặc nếu không rõ về nó có thể dùng script bỏ qua title screen để đưa vào 1 event bên trong kích hoạt script này
    Mã:
    class Scene_Movie
    
    def initialize(movie)
    @readini = Win32API.new 'kernel32', 'GetPrivateProfileStringA', %w(p p p p l p), 'l'
    @movie_name = Dir.getwd()+"\\Movies\\"+movie+".avi"
    main
    end
    
    def main
    
    game_name = "\0" * 256
    @readini.call('Game','Title','',game_name,255,".\\Game.ini")
    game_name.delete!("\0")
    @wnd = Win32API.new('user32','FindWindowEx','%w(l,l,p,p)','L')
    @temp = @wnd.call(0,0,nil,game_name).to_s
    movie = Win32API.new('winmm','mciSendString','%w(p,p,l,l)','V')
    movie.call("open \""+@movie_name+"\" alias FILE style 1073741824 parent " + @temp.to_s,0,0,0)
    @message = Win32API.new('user32','SendMessage','%w(l,l,l,l)','V')
    
    @detector = Win32API.new('user32','GetSystemMetrics','%w(l)','L')
    @width = @detector.call(0)
    if @width == 640
    fullscreen
    Graphics.update
    sleep(1)
    Graphics.update
    sleep(1)
    Graphics.update
    sleep(1)
    end
    
    status = " " * 255
    movie.call("play FILE",0,0,0)
    loop do
    sleep(0.1)
    @message.call(@temp.to_i,11,0,0)
    Graphics.update
    @message.call(@temp.to_i,11,1,0)
    Input.update
    movie.call("status FILE mode",status,255,0)
    true_status = status.unpack("aaaa")
    if true_status.to_s != "play"
    break
    end
    if Input.trigger?(Input::B)
    Input.update
    break
    end
    end
    movie.call("close FILE",0,0,0)
    bail
    end
    
    def bail
    if @width == 640
    fullscreen
    end
    end
    end
    
    def fullscreen()
    
    $full.call(18,0,0,0)
    $full.call(13,0,0,0)
    $full.call(18,0,2,0)
    $full.call(13,0,2,0)
    end
    $full = Win32API.new('user32','keybd_event','%w(l,l,l,l)','') 
    
    Gọi script trên là Scene_Movie chẳng hạn thì khi ta gọi script sẽ là
    "Scene_Movie("tên_phim")"
    có thể cho chạy nhiều movie liên tục bằng nhiều đoạn script này nối tiếp nhau

    trong phần code, bạn đổi tất cả những chữ FILE thành tên file film của bạn.
    file film phải là file avi và để trong 1 thư mục có tên là movies năm trong phần DATA trong thư mục game của bạn
    còn đây là Demo: Download

    script này có thể chạy được file avi với độ phân giải nhỏ hơn 640*480
    nếu muốn chạy các file khác thì thay đổi dòng:
    Mã:
    @movie_name = Dir.getwd()+"\\Movies\\"+movie+".avi"
    
    đổi đuôi avi thành đuôi nào đó như là mpq, wma chẳng hạn.

    chú thích: theo tôi thử nghiệm thì có thể chạy với cả những sideview CBS để làm đoạn phim giữa battle
     
  4. lima_kratos

    lima_kratos Mr & Ms Pac-Man

    Tham gia ngày:
    22/4/05
    Bài viết:
    111
    cách đưa phim vào trước khi menu hiện lên:
    trong bảng Main, trước dòng
    Mã:
    $scene = Scene_Title.new
    thêm vào dòng
    Mã:
      $scene = Scene_Movie.new("tênphim")
     
  5. Dương44

    Dương44 Donkey Kong

    Tham gia ngày:
    8/2/06
    Bài viết:
    314
    Nơi ở:
    Hải Phòng
    Thế mà cũng đòi , cách này rất dễ Bug cho 1 số trường hợp , có cách khác hay hơn nhìu , hôm nào vào topic Demo xịn mà lấy Demo về coi nhé :D
     
  6. lady-yuna

    lady-yuna T.E.T.Я.I.S

    Tham gia ngày:
    13/12/04
    Bài viết:
    696
    Nơi ở:
    Hà Nội
    well vụ này tui chưa biết cánh làm cảm ơn ông liện cánh đó lên đây nha
     
  7. zaizai_88

    zaizai_88 C O N T R A

    Tham gia ngày:
    28/9/04
    Bài viết:
    1,968
    Nơi ở:
    HCM CITY
    thế muốn đưa Film vào trong hoạt cảnh thì làm sao...

    VD : Đang nói chuyện với nhân vật khác , Mình muốn bất ngờ có một đoạn Film xen vào .,,,được chứ
     
  8. Tìnhyêu36kế

    Tìnhyêu36kế C O N T R A

    Tham gia ngày:
    22/11/05
    Bài viết:
    1,653
    Nơi ở:
    ☆ Deep River
    đâu có làm được đâu! bây giờ bấm vào Test Play cũng không được nữa chứ nói gì đến làm movie, chán quá! cái này scrpit này hư rùi!
     
  9. lady-yuna

    lady-yuna T.E.T.Я.I.S

    Tham gia ngày:
    13/12/04
    Bài viết:
    696
    Nơi ở:
    Hà Nội
    vậy làm sao tạo phim mà điều thứ 2 tui cần phải hỏi biết cánh liện rồi mà ko biết cánh làm
     
  10. Tìnhyêu36kế

    Tìnhyêu36kế C O N T R A

    Tham gia ngày:
    22/11/05
    Bài viết:
    1,653
    Nơi ở:
    ☆ Deep River
    Làm phim phải có côl3D với lại Video Editor làm mới đẹp, mấy các khác em chả biết nữa, chỉ hay xài 2 cái này thoai!
     
  11. Dương44

    Dương44 Donkey Kong

    Tham gia ngày:
    8/2/06
    Bài viết:
    314
    Nơi ở:
    Hải Phòng
    Ối dào , RMXP nói thẳng ra là ko có hỗ trợ về Movie mấy đâu , có RM 2k3 thì ổn :D
     

Chia sẻ trang này