• Login

1

Friday, January 30th 2015, 3:10pm

Script für ein Video im Hintergrund vom Titelbildschirm

Hallo, wie die Überschrift schon sagt suche ich nach einem Script mit dem ich ein Video oder mehrere Bilder nacheinander im Titelbildschirm (Hintergrund) laufen lassen kann, während man im Vordergrund "Neues Spiel", "Spiel Laden" usw. anwählen kann. Ich bin bereits auf eine Seite gestoßen, weiß aber nicht ob es damit umsetzbar ist:

EST - SOV Video Player ++ Script Conversion v 1.4 - Completed Ace Scripts - RPG Maker VX Ace Forums

Danke für eure Hilfe im voraus ;)

Playm

RPG Studio Webmaster

  • Send private message

2

Saturday, January 31st 2015, 10:28pm

Dein Skript hat ein Problem - es ist nicht möglich, über das abgespielte Video noch etwas drüber zu legen, da dieses nicht vom RGSS komplett verwaltet und auch nicht vom RGSS auf den Bildschirm gezeichnet wird.
Wechselnde Bilder im Hintergrund zu zeigen ist aber kein Problem - wenn Du nicht mehr als ein paar Bilder da drin haben möchtest wird auch das Projekt nicht zu groß. Was genau würdest Du dir denn wünschen, wenn es zwar kein Film mit 24 Bildern pro Sekunde seien kann, aber schon sowas in Richtung Diashow?

3

Saturday, January 31st 2015, 11:11pm

Ja, eine Diashow wäre auch super, mit ca. 15-20 verschiedenen Bildern die nacheinander angezeigt werden. Aber wie gehe ich das an? Ohne Script ist das nicht umsetzbar, oder? Und dann gibt es ja auch ein Maximum an Bildern die man im Material-Manager einfügen kann, das sind 99 oder? weil bei meinem Projekt sehr viel mit Bildern gearbeitet wird. Würden diese Bilder vom Titelbildschirm dann mit unter die Begrenzung fallen? ;)

Playm

RPG Studio Webmaster

  • Send private message

4

Saturday, January 31st 2015, 11:35pm

Diese Beschränkung ist mir neu - ansonsten kopier die Bilder doch per Hand in den entsprechenden Ordner. ;)

Ich kann mich da demnächst dransetzen. Hast Du irgendwelche Extrawünsche? Würde sonst Background1 mit der Diashow ersetzen, dass Du noch einen Rahmen drüber legen kannst und sonst nicht viel dazu machen. Wie möchtest Du festlegen, welche Bilder zu verwenden sind? Einfach eine Liste am Anfang des Quellcodes á la ['Bild1.png', 'Morphi.png', 'Hero.png'] oder lieber alle Bilder in Ordner "/System/Start/"? Oder was ganz anderes?

5

Saturday, January 31st 2015, 11:50pm

Ehrlich?! Aber nur wenn es nicht zu viel Arbeit macht, und du kannst dir auch zeit lassen so lange du möchtest. Dann sage ich schon mal vielen dank für die Hilfe.
Eine Liste wäre am besten, dann gebe ich die Namen ein und fertig^^ Extrawünsche hab ich eigentlich nicht. Wie funktioniert denn dann das mit den Zeitabständen? Kann man die einstellen wie lange es dauern soll bis ein neues Bild kommt? Und kann man auch Bilder von oben oder Unten ins Bild kommen lassen? Oder das sie Langsam erst Sichtbar werden? Wie bei einer gewöhnlichen Diashow. Falls das nicht geht, macht auch nix^^ Ich bin schon voll und ganz zufrieden wenn einfach mehrere Bilder nacheinander erscheinen. ;)

Playm

RPG Studio Webmaster

  • Send private message

6

Sunday, February 1st 2015, 12:06am

Hm, an Übergangseffekte habe ich garnicht gedacht. Könnte man wohl einbauen, denke ich. FadeIn, FadeOut, Einfliegen (von Links, Rechts, Oben, Unten) ist alles kein Problem.

Vielleicht sowas dann?

Ruby Source code

1
2
3
@dia_list = [ Game_Dia.new( 'Hero.png',    20, :fadeIn ),
              Game_Dia.new( 'Chicken.png', 17, :fromLeft ),
              ...
Um die Einzelbilder zu konfigurieren? (Dateiname, Lebenszeit in Frames, Einblendeffekt)

7

Sunday, February 1st 2015, 12:11am

Genau das wäre perfekt! Besser könnte ich es mir nicht vorstellen ;)

Playm

RPG Studio Webmaster

  • Send private message

8

Sunday, February 1st 2015, 1:52am

Na dann. Hier mal der Code. :hi:
Spoiler: Quellcode

:information: Den Quellcode auf einer neuen Skriptseite unter »▼ Materials« einfügen.

Ruby Source code

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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#==============================================================================
# ** Animierter Titelhintergrund
#------------------------------------------------------------------------------
#  Ermöglicht mit einem "Diashow Effekt" mehrere Bilder im Titelmenü zu zeigen.
#  Lege hierfür ab Zeile 30 Dia Einträge an, nach dem Muster
#    ( Dateiname in /Graphics/Title1/, Lebenszeit in Frames, Überblendeffekt )
#  Für letzteres gibt es fünf Optionen:
#    :fadeIn
#    :fromTop
#    :fromLeft
#    :fromBottom
#    :fromRight
#  Die Bilder sollten deckend und so groß wie das Spielfenster seien und
#  werden zwischen Title1 und Title2 angezeigt.
#------------------------------------------------------------------------------
#  Autor: Playm
#  Datum: Jan 2015
#  Maker: RPG Maker VX Ace
#  Einfache Nutzung in nicht-kommerziellen VX Ace Projekten ist gestattet.
#  Keine kommerzielle Nutzung gestattet. Für Lizenzen an den Autor wenden.
#  Keine Weiterverbreitung in originaler oder abgeänderter Form gestattet.
#==============================================================================
# ** Scene_Title
#==============================================================================
class Scene_Title < Scene_Base
  #--------------------------------------------------------------------------
  # * 
  #--------------------------------------------------------------------------
  def setup_dialist
    @dia_list = [Game_Dia.new( '1', 80, :fromTop ),
                 Game_Dia.new( '2', 40, :fadeIn ),
                 Game_Dia.new( '3', 40, :fromRight )
                 ]
    @dia_index = 0
    @dia_counter = @dia_list.first.lifetime
  end
  #--------------------------------------------------------------------------
  # * Alias
  #--------------------------------------------------------------------------
  alias_method( :org_create_bg_wo_dia, :create_background )
  alias_method( :org_dispose_bg_wo_dia, :dispose_background )
  #--------------------------------------------------------------------------
  # * Create Background
  #--------------------------------------------------------------------------
  def create_background
    org_create_bg_wo_dia
    setup_dialist
    @spriteset_dia = [ Sprite.new, Sprite.new ]
    @spriteset_dia.first.z = @sprite1.z + 1
    @spriteset_dia.last.z = @sprite1.z + 2
    @sprite2.z = @sprite1.z + 3
    @spriteset_dia.first.bitmap = Cache.title1( @dia_list.first.filename )
  end
  #--------------------------------------------------------------------------
  # * Free Background
  #--------------------------------------------------------------------------
  def dispose_background
    org_dispose_bg_wo_dia
    @spriteset_dia.each{ |sprite| sprite.dispose }
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    update_dia      if @dia_counter > 0
    update_dia_fade if @dia_counter.zero?
  end
  #--------------------------------------------------------------------------
  # * Update Dia
  #--------------------------------------------------------------------------
  def update_dia
    @dia_counter -= 1
    if @dia_counter.zero?
      @dia_index = (@dia_index + 1) % @dia_list.size
      setup_next_dia
    end
  end
  #--------------------------------------------------------------------------
  # * Setup Next Dia
  #--------------------------------------------------------------------------
  def setup_next_dia
    # Standard
    @spriteset_dia.last.x = 0
    @spriteset_dia.last.y = 0
    @spriteset_dia.last.opacity = 255
    @spriteset_dia.last.bitmap= Cache.title1(@dia_list[@dia_index].filename)
    # Diff
    case @dia_list[@dia_index].transition
    when :fromLeft
      @spriteset_dia.last.x = -Graphics.width
    when :fromRight
      @spriteset_dia.last.x = Graphics.width
    when :fromTop
      @spriteset_dia.last.y = -Graphics.height
    when :fromBottom
      @spriteset_dia.last.y = Graphics.height
    when :fadeIn
      @spriteset_dia.last.opacity = 0
    end
  end
  #--------------------------------------------------------------------------
  # * Update Dia Transition
  #--------------------------------------------------------------------------
  def update_dia_fade
    case @dia_list[@dia_index].transition
    when :fadeIn
      @spriteset_dia.last.opacity += 26
      swap_dia if @spriteset_dia.last.opacity == 255
    when :fromLeft
      @spriteset_dia.last.x += Graphics.width / 10
      @spriteset_dia.last.x = 0 if @spriteset_dia.last.x > 0
      swap_dia if @spriteset_dia.last.x == 0
    when :fromRight
      @spriteset_dia.last.x -= Graphics.width / 10
      @spriteset_dia.last.x = 0 if @spriteset_dia.last.x < 0
      swap_dia if @spriteset_dia.last.x == 0
    when :fromTop
      @spriteset_dia.last.y += Graphics.height / 10
      @spriteset_dia.last.y = 0 if @spriteset_dia.last.y > 0
      swap_dia if @spriteset_dia.last.y == 0
    when :fromBottom
      @spriteset_dia.last.y -= Graphics.height / 10
      @spriteset_dia.last.y = 0 if @spriteset_dia.last.y < 0
      swap_dia if @spriteset_dia.last.y == 0
    end
  end
  #--------------------------------------------------------------------------
  # * Swap Dia
  #--------------------------------------------------------------------------
  def swap_dia
    @spriteset_dia.reverse!
    @spriteset_dia.first.z = @sprite1.z + 1
    @spriteset_dia.last.z  = @sprite1.z + 2
    @spriteset_dia.last.opacity = 0
    @dia_counter = @dia_list[@dia_index].lifetime
  end
end
#==============================================================================
# ** Game_Dia Struct
#==============================================================================
Game_Dia = Struct.new( :filename, :lifetime, :transition )
highlight to read


Viel Erfolg mit deinem Projekt und ein schönes Wochenende.

9

Sunday, February 1st 2015, 1:22pm

Vielen dank, das ging schnell^^ habe nur noch ein kleines Problem. Bekomme beim Starten die Fehlermeldung für Zeile 40.
Wenn ich das richtig verstehe, muss ich einen Ordner mit "Title1" in Graphics erstellen und die Titelbilder dort einfügen, oder?
Oder liegt es am VX? Sorry hab vergessen zu sagen das ich den VX nutze......nicht Ace. Müsste doch aber trotzdem gehen, oder?
Mir sagen nur diese in Rot geschriebenen Wörter nichts, kann der VX das lesen?

Playm

RPG Studio Webmaster

  • Send private message

10

Sunday, February 1st 2015, 4:16pm

Ach, das ist hier das VX-Unterforum? Upps D:

Aber keine Sorge, das Skript lässt sich schnell portieren:
Spoiler

:information: Den Quellcode auf einer neuen Skriptseite unter »▼ Materials« einfügen.

Ruby Source code

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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#==============================================================================
# ** Animierter Titelhintergrund
#------------------------------------------------------------------------------
#  Ermöglicht mit einem "Diashow Effekt" mehrere Bilder im Titelmenü zu zeigen.
#  Lege hierfür ab Zeile 30 Dia Einträge an, nach dem Muster
#    ( Dateiname in /Graphics/System/, Lebenszeit in Frames, Überblendeffekt )
#  Für letzteres gibt es fünf Optionen:
#    :fadeIn
#    :fromTop
#    :fromLeft
#    :fromBottom
#    :fromRight
#  Die Bilder sollten deckend und so groß wie das Spielfenster seien und
#  werden unter der Titlegrafik gezeigt.
#------------------------------------------------------------------------------
#  Autor: Playm
#  Datum: Jan 2015
#  Maker: RPG Maker VX
#  Einfache Nutzung in nicht-kommerziellen  RMVX  Projekten ist gestattet.
#  Keine kommerzielle Nutzung gestattet. Für Lizenzen an den Autor wenden.
#  Keine Weiterverbreitung in originaler oder abgeänderter Form gestattet.
#==============================================================================
# ** Scene_Title
#==============================================================================
class Scene_Title < Scene_Base
  #--------------------------------------------------------------------------
  # * Lege hier alle Einzelbilder fest.
  #--------------------------------------------------------------------------
  def setup_dialist
    @dia_list = [Game_Dia.new( '1', 80, :fromTop ),
                 Game_Dia.new( '2', 40, :fadeIn ),
                 Game_Dia.new( '3', 40, :fromRight )
                 ]
    @dia_index = 0
    @dia_counter = @dia_list.first.lifetime
  end
  #--------------------------------------------------------------------------
  # * Alias
  #--------------------------------------------------------------------------
  alias_method( :org_create_bg_wo_dia, :create_title_graphic )
  alias_method( :org_dispose_bg_wo_dia, :dispose_title_graphic )
  alias_method( :org_update_wo_dia, :update )
  #--------------------------------------------------------------------------
  # * Create Background
  #--------------------------------------------------------------------------
  def create_title_graphic
    org_create_bg_wo_dia
    setup_dialist
    @spriteset_dia = [ Sprite.new, Sprite.new ]
    @spriteset_dia.first.z = @sprite.z - 2
    @spriteset_dia.last.z = @sprite.z - 1
    @spriteset_dia.first.bitmap = Cache.system( @dia_list.first.filename )
  end
  #--------------------------------------------------------------------------
  # * Free Background
  #--------------------------------------------------------------------------
  def dispose_title_graphic
    org_dispose_bg_wo_dia
    @spriteset_dia.each{ |sprite| sprite.dispose }
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    org_update_wo_dia
    update_dia      if @dia_counter > 0
    update_dia_fade if @dia_counter.zero?
  end
  #--------------------------------------------------------------------------
  # * Update Dia
  #--------------------------------------------------------------------------
  def update_dia
    @dia_counter -= 1
    if @dia_counter.zero?
      @dia_index = (@dia_index + 1) % @dia_list.size
      setup_next_dia
    end
  end
  #--------------------------------------------------------------------------
  # * Setup Next Dia
  #--------------------------------------------------------------------------
  def setup_next_dia
    # Standard
    @spriteset_dia.last.x = 0
    @spriteset_dia.last.y = 0
    @spriteset_dia.last.opacity = 255
    @spriteset_dia.last.bitmap= Cache.system(@dia_list[@dia_index].filename)
    # Diff
    case @dia_list[@dia_index].transition
    when :fromLeft
      @spriteset_dia.last.x = -Graphics.width
    when :fromRight
      @spriteset_dia.last.x = Graphics.width
    when :fromTop
      @spriteset_dia.last.y = -Graphics.height
    when :fromBottom
      @spriteset_dia.last.y = Graphics.height
    when :fadeIn
      @spriteset_dia.last.opacity = 0
    end
  end
  #--------------------------------------------------------------------------
  # * Update Dia Transition
  #--------------------------------------------------------------------------
  def update_dia_fade
    case @dia_list[@dia_index].transition
    when :fadeIn
      @spriteset_dia.last.opacity += 26
      swap_dia if @spriteset_dia.last.opacity == 255
    when :fromLeft
      @spriteset_dia.last.x += Graphics.width / 10
      @spriteset_dia.last.x = 0 if @spriteset_dia.last.x > 0
      swap_dia if @spriteset_dia.last.x == 0
    when :fromRight
      @spriteset_dia.last.x -= Graphics.width / 10
      @spriteset_dia.last.x = 0 if @spriteset_dia.last.x < 0
      swap_dia if @spriteset_dia.last.x == 0
    when :fromTop
      @spriteset_dia.last.y += Graphics.height / 10
      @spriteset_dia.last.y = 0 if @spriteset_dia.last.y > 0
      swap_dia if @spriteset_dia.last.y == 0
    when :fromBottom
      @spriteset_dia.last.y -= Graphics.height / 10
      @spriteset_dia.last.y = 0 if @spriteset_dia.last.y < 0
      swap_dia if @spriteset_dia.last.y == 0
    end
  end
  #--------------------------------------------------------------------------
  # * Swap Dia
  #--------------------------------------------------------------------------
  def swap_dia
    @spriteset_dia.reverse!
    @spriteset_dia.first.z = @sprite.z - 2
    @spriteset_dia.last.z  = @sprite.z - 1
    @spriteset_dia.last.opacity = 0
    @dia_counter = @dia_list[@dia_index].lifetime
  end
end
#==============================================================================
# ** Game_Dia Struct
#==============================================================================
Game_Dia = Struct.new( :filename, :lifetime, :transition )

highlight to read


Quoted

Wenn ich das richtig verstehe, muss ich einen Ordner mit "Title1" in Graphics erstellen und die Titelbilder dort einfügen, oder?
Oder liegt es am VX?
Ne, im Ace gibt es diesen Ordner schon. Habe jetzt das Skript für den VX angepasst - die Bilder müssen jetzt in Graphics/System/ liegen, wo auch dein Title liegt. Übrigens: Der Title sollte deaktiviert oder mit transparenz ausgestattet werden, da die Diashow unter dem Title liegt - das habe ich deswegen so gemacht, damit Du mit dem Title einen einheitlichen Rahmen über die Show legen kannst, wenn Du das möchtest.

Quoted

Mir sagen nur diese in Rot geschriebenen Wörter nichts, kann der VX das lesen?
Du meinst die Symbole wie :fromLeft? Ja, die versteht der Maker. Die Symbole die ich verwende um dem Maker zu sagen welchen Effekt ich denn jetzt möchte sind sowas wie IDs, nur das man sie besser lesen und verstehen kann, als wenn ich dafür Zahlenkonstanten benutze.

Quoted

Bekomme beim Starten die Fehlermeldung für Zeile 40.
Probier mal die Version für den VX aus. Wenn immernoch Fehler kommen (habe das Skript so Pi mal Daumen portiert, habe den VX gerade nicht installiert), bräuchte ich den genauen Text - Du kannst mit Strg+C den Inhalt einer Fehlermeldungsbox in die Zwischenablage kopieren.

11

Sunday, February 1st 2015, 4:40pm

Einfach genial, Ich kann gar nicht sagen wie dankbar ich bin, jetzt macht der Titel echt was her.....zumindest wenn ich jetzt ein bischen dran gebastelt habe^^
Vielen vielen Dank ;) läuft einwandfrei

Motto: So lasset uns kein Trübsal sinnieren und gar königlich dinieren!

  • Send private message

12

Thursday, March 5th 2015, 12:42pm

Kann mir jemand ein Beispiel dafür zeigen?
Mir werden nur die ersten 2 Bilder gezeigt und dann stoppt alles.
Scheint ja angeblich irgendwie zu funktionieren.
Benutze die VX-Version.
  • :cake: So lasset uns beginnen! :new:

    • Ein Abenteuer, wie du es noch nie erlebt hast!
      Tauche ein in die wunderbare Welt des Königs und erlebe auf deiner Reise die verrücktesten Dinge!
      NICHT MEHR LANGE! :navigation-right: Hier gibt es weitere Informationen! :navigation-left:
    • Jetzt die Demo herunterladen!
      Bild
      Euch erwartet eine Welt, wie sie nur ein exzentrischer König veralbern könnte...
    • Titelbild
      Bild
  • :fires: XBOX 360 Bild

    Bild
  • :new: Avatar im Großformat

    Bild

Playm

RPG Studio Webmaster

  • Send private message

13

Thursday, March 5th 2015, 10:05pm

Inwieweit stoppt alles? Hängt sich der RGSS Player auf?

Kannst Du uns mal zeigen, wie deine Einstellungen aussehen? Also alles was Du hier eingetragen hast:

Ruby Source code

26
27
28
29
30
31
32
33
34
35
36
  #--------------------------------------------------------------------------
  # * Lege hier alle Einzelbilder fest.
  #--------------------------------------------------------------------------
  def setup_dialist
    @dia_list = [Game_Dia.new( '1', 80, :fromTop ),
                 Game_Dia.new( '2', 40, :fadeIn ),
                 Game_Dia.new( '3', 40, :fromRight )
                 ]
    @dia_index = 0
    @dia_counter = @dia_list.first.lifetime
  end

Motto: So lasset uns kein Trübsal sinnieren und gar königlich dinieren!

  • Send private message

14

Friday, March 6th 2015, 1:48am

Ja, hab es schon gelöst.
Das Problem war, dass es wohl keine Option gab für "nichts tun". Hatte das dritte Attribut weggelassen.

Ruby Source code

1
2
3
4
5
6
7
8
@dia_list = [Game_Dia.new('title_text 001', 1, :nothing),
                 Game_Dia.new('title_text 002', 1, :nothing),
                 Game_Dia.new('title_text 003', 1, :nothing),
                 ...
 
    when :nothing
      swap_dia
    end


Oder verstehe ich etwas falsch? :D
So läuft es nämlich bei mir einwandfrei.
  • :cake: So lasset uns beginnen! :new:

    • Ein Abenteuer, wie du es noch nie erlebt hast!
      Tauche ein in die wunderbare Welt des Königs und erlebe auf deiner Reise die verrücktesten Dinge!
      NICHT MEHR LANGE! :navigation-right: Hier gibt es weitere Informationen! :navigation-left:
    • Jetzt die Demo herunterladen!
      Bild
      Euch erwartet eine Welt, wie sie nur ein exzentrischer König veralbern könnte...
    • Titelbild
      Bild
  • :fires: XBOX 360 Bild

    Bild
  • :new: Avatar im Großformat

    Bild

Playm

RPG Studio Webmaster

  • Send private message

15

Friday, March 6th 2015, 2:45pm

Ah, ja es gibt nur diese Überblendeffekte. Ein Überblendeffekt der einfach nur animationslos das Dia wechselt war nicht implementiert.

Dein Edit ist schon richtig, das funktioniert genauso. :thumbsup:
Viel Erfolg mit deinem Projekt.

Motto: So lasset uns kein Trübsal sinnieren und gar königlich dinieren!

  • Send private message

16

Friday, March 6th 2015, 4:52pm

Alles klar, danke! :D
  • :cake: So lasset uns beginnen! :new:

    • Ein Abenteuer, wie du es noch nie erlebt hast!
      Tauche ein in die wunderbare Welt des Königs und erlebe auf deiner Reise die verrücktesten Dinge!
      NICHT MEHR LANGE! :navigation-right: Hier gibt es weitere Informationen! :navigation-left:
    • Jetzt die Demo herunterladen!
      Bild
      Euch erwartet eine Welt, wie sie nur ein exzentrischer König veralbern könnte...
    • Titelbild
      Bild
  • :fires: XBOX 360 Bild

    Bild
  • :new: Avatar im Großformat

    Bild

Social bookmarks