Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Sorties: Les Chroniques de Katura - TAO (...) / Sorties: Star Trek: Glorious Wolf / Jeux: Pillar Town / Sorties: Dread Mac Farlane - Complet / Sorties: "Dread Mac Farlane", (...) / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

485 connectés actuellement

29872722 visiteurs
depuis l'ouverture

14898 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Zarok

Planète Glutko

Hellsoft

Alex d'Or

Offgame

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [RESOLU] [RMXP] Script vidéo en fullscreen qui marche ???


William Samy - posté le 07/11/2012 à 19:44:32 (488 messages postés)

❤ 0

revenant des vivant.

Domaine concerné: cuisine
Logiciel utilisé: RMXP
Salut c'est moi !:salut
Bon j'ai fait une super-anim-de-la-mort-qui-tue que j'ai enregistré en vidéo .avi, ayant pour idée de l'insérer dans mon projet, en me disant qu'après je trouverai bien un script adéquat sur internet, depuis le temps que RMXP existe.


JE ME SUIS BIEN FAIT BAIS*R.


J'ai trouvé 2 scripts différents, l'un marche à merveille, sauf si le jeu tourne en fullscreen. La vidéo se lit parfaitement quand j'ai ma fenêtre en 640*480 (pas de bug, aucun lag, pas de temps d'attente ni au début ni à la fin).
Mais quand je lance le jeu en plein écran, il en sort automatiquement pour lire la vidéo en mode fenêtre. Une fois que la vidéo est fini, il se remet en plein écran et continue. C'est pas très classe et ça met du temps à sortir et à rerentrer en plein écran. Ce qui au final gâche tout. Je cherche donc une solution pour pouvoir lire mon jeu en plein écran, y compris pour lire les vidéo occasionnelles que j'insère dans mon projet. Et j’aimerais que ça marche pour tout type d'écran évidemment (j'ai un 1920*1080).

- J'ai fouillé et bidouillé le script avec mes quelques connaissances en ruby mais rien à ma vue qui puisse maintenir le plein écran quand la vidéo se lance.

-j'ai tenté de faire alt + Entrée pour mettre le jeu en plein écran PENDANT la lecture de la vidéo. Ca marche plus ou moins car ya des flash noir tout le temps mais la vidéo se met bien en plein écran dans les dimmension du miens. Ce n'est donc pas un problème de résolution de la vidéo, puisque celle-ci peut s'afficher en s'adaptant aux dimensions de mon moniteur.

Bref j'ai fouillé de fond en comble je n'ai trouvé aucune clé au problème.
Donc je voulais savoir si quelqu'un connait bien ce problème et sait le résoudre,
ou si lire des vidéos dans RXMP restera à jamais un fantasme.

EDIT: Voici le script en question:

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
class Scene_Movie
 
 def initialize(movie)
   @readini = Win32API.new 'kernel32', 'GetPrivateProfileStringA', %w(p p p p l p), 'l'
   @movie_name = Dir.getwd()+"\\Graphics\\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)','') 


code d'appel: Scene_Movie.new(nomvidéo)

Voici l'autre script, mais il faut en plus indiquer combien de temps dure la vidéo quand on l'appelle.

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
class Scene_Movie
 
def initialize(movie,length)
@movie_name = Dir.getwd()+"\Movies\"+movie+".avi"
@counter = length
end
 
def main
 
Graphics.transition
@wnd = Win32API.new('user32','FindWindowEx','%w(l,l,p,p)','L')
@temp = @wnd.call(0,0,nil,"LE_NOM_DE_VOTRE_PROJET").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)
@movie.call("play FILE",0,0,0)
loop do
Graphics.update
sleep(1)
Input.update
if Input.trigger?(Input::B)
break
end
@counter = @counter - 1
if @counter == 0
break
end
end
@movie.call("close FILE",0,0,0)
$scene = Scene_Map.new
Graphics.freeze
end
end
 


code d'appel: $scene = Scene_Movie.new(nomvidéo, durée en seconde)



Merci:salut

Galfart.fr || « L'humanité souffre exactement autant aujourd'hui qu'elle a toujours souffert, elle l'a raffiné et s'illusionne sur son état... c'est la seule différence... » R.Steiner


Crystal - posté le 08/11/2012 à 00:58:25 (2113 messages postés)

❤ 0

Je pense que poster ledit script aiderait énormément pour un début.


Ixsuixwzone - posté le 08/11/2012 à 08:52:00 (2453 messages postés)

❤ 0

Nannnnnn !!! La prophétie parlait d'un homme qui essayerai de faire lire a rm une vidéo en .avi... ON VA TOUS MOURIR !!!!

| Âmes Bannies - Demo 0.2 |


William Samy - posté le 08/11/2012 à 11:01:30 (488 messages postés)

❤ 0

revenant des vivant.

Oh, oui pardon,
voilà le script:

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
class Scene_Movie
 
 def initialize(movie)
   @readini = Win32API.new 'kernel32', 'GetPrivateProfileStringA', %w(p p p p l p), 'l'
   @movie_name = Dir.getwd()+"\\Graphics\\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)','') 



Galfart.fr || « L'humanité souffre exactement autant aujourd'hui qu'elle a toujours souffert, elle l'a raffiné et s'illusionne sur son état... c'est la seule différence... » R.Steiner


Ixsuixwzone - posté le 08/11/2012 à 11:07:01 (2453 messages postés)

❤ 0

Et le deuxième ?

| Âmes Bannies - Demo 0.2 |


William Samy - posté le 08/11/2012 à 11:59:06 (488 messages postés)

❤ 0

revenant des vivant.

l'autre présente moins d'interêt car on doit également indiquer le temps de la vidéo.
Voilà je l'ai mis aussi

Galfart.fr || « L'humanité souffre exactement autant aujourd'hui qu'elle a toujours souffert, elle l'a raffiné et s'illusionne sur son état... c'est la seule différence... » R.Steiner


Ixsuixwzone - posté le 08/11/2012 à 12:08:38 (2453 messages postés)

❤ 0

Chose étrange le deuxième script marche chez moi en full screen... Pas pour toi ?

EDIT: A tiens, si la vidéo exede les 15 sec non... Y a effectivement des flash noir puis ca ferme.
Je vais essayer de voir ce qui cause ca :sourit

| Âmes Bannies - Demo 0.2 |


William Samy - posté le 08/11/2012 à 12:24:21 (488 messages postés)

❤ 0

revenant des vivant.

non moi j'ai plusieurs problème avec le 2ème script:

-quand je lance le projet en mode fenêtre, quand la vidéo se lit il y a des flash noirs toute les seconde environ, c'est moche.

-quand je lance le jeu en fullscreen, lorsque la vidéo démarre ça sort automatiquement du fullscreen et la vidéo se lit dans ses dimension originales (je pense) en haut à gauche de l'écran. Une fois que la vidéo est terminé je reviens en fullscreen automatiquement

-quand je met en fullscreen PENDANT la vidéo, la vidéo continue en plein écran mais avec les même flash noirs toutes les secondes.

je comprend rien

Galfart.fr || « L'humanité souffre exactement autant aujourd'hui qu'elle a toujours souffert, elle l'a raffiné et s'illusionne sur son état... c'est la seule différence... » R.Steiner


Ixsuixwzone - posté le 08/11/2012 à 14:37:50 (2453 messages postés)
Une erreur est survenue, si le problème persiste merci de le signaler à un administateur.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers