Bonjour,
Je voudrais juste savoir comment qu'on fait pour instaurer des séquences cinématiques (genre animation, dessin animé, vidéo...) pendant un jeu. (bref, à tout moment)
Merci à ceux qui voudront bien me répondre. "^^"
<> Scene_Movie.new("<NOM DE LA VIDEO AVEC EXTENSION>")
<> modifier ton de l'écran (R:-255, V:-255, B: -255. S:0), 0 Frames
<> attendre 20 frames
<> Scene_Movie.new("clock.avi")
<> attendre 20 frames
<> modifier ton de l'écran (R:-255, V:-255, B: -255. S:0), 0 Frames
# ==============================
# Affichage Video
# Corwin - 24.03.2006
# ==============================
#
# Principe : affiche une video dans la fenêtre du jeu (sans faire appel à un lecteur externe)
#
# Utilisation : dans l'évènement, insérer un script ainsi :
# <> Scene_Movie.new("<NOM DE LA VIDEO AVEC EXTENSION>")
#
# Exemple d'evènement type :
# <> modifier ton de l'écran (R:-255, V:-255, B: -255. S:0), 0 Frames
# <> attendre 20 frames
# <> Scene_Movie.new("clock.avi")
# <> attendre 20 frames
# <> modifier ton de l'écran (R:-255, V:-255, B: -255. S:0), 0 Frames
#
# Remarques:
# >> vous devez avoir les bons codecs installés sur votre machine
# >> vous devez créer un répertoire Movies, à la racine du jeu
# >> la vidéo va paraître dans la fenêtre du jeu, donc je vous conseille de modifier avant le ton
# de l'écran en noir
# >> vous devez mettre dans la commande le nom de la vidéo AVEC l'extension
#
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
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
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)
end
end
Combien cela coûte-t-il au total ? Quelles aides apportent l'état et les acteurs du marché pour alléger cette charge non choisie ? Tous les détails sur Commentçamarche.net.
cette ligne peut être supprimer elle ne sert a rien
J'ai penser a quelque piste qui pourrait etre la cause du probleme.
1. Qu'es que tu entend par la racine du jeu?
2. Par insérer un script dans l'évènement tu veux dire : << appeler script >> dans les commandes d'évènement?
3. Quand tu dit les bon codec cest le scripts que tu donne?
Sinon bah je sais pas pourquoi sa ne marche pas
jarrive toujours à syntaxerror..
Merci d'avance pour ta reponse ^^