• Login

Dear visitor, welcome to RPG Studio - Make your World real. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

Josey

Storyteller

  • "Josey" started this thread

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Send private message

21

Wednesday, May 15th 2019, 1:46am

:D
Ja XD
Damit könnte ich meine Grafiken doch viel einfacher setzen, ohne auf 30 Events zurückgreifen zu müssen XD
(und wenn es geht, weil ich probieren möchte, das hinzukriegen: Bitte noch die Möglichkeit einbauen, den angle(?)/Grad-neigung und den hue zu verändern XD)

Ruby Source code

1
2
3
4
5
6
7
8
9
$game_map.static_object[2].setup( 12, 8, anchor=:bottom_left )
$game_map.static_object[2].set_graphic( "Hausdach.png" ) # Benutze als Grafik eine Datei im Pictures Ordner
$game_map.static_object[2].opacity = 255
$game_map.static_object[2].show
$game_map.static_object[2].remove
$game_map.static_object[2].setup( 14, 12, anchor=:foot )
$game_map.static_object[2].set_tilesprite( 0, 5, 4, 4 ) # Benutze als Grafik einen Ausschnitt aus dem aktuellen Tileset
$game_map.static_object[2].angle = 90
$game_map.static_object[2].hue = 0



*lieb guck*
Kannst du mir sowas schreiben, oder erklären, wie ichs hinkrieg? :D
*hibbel* Playm? :D
Bild


Ah super, Playm, wenn du dann mit Cryztal fertig bist, bin ich wieder dran >XD
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

This post has been edited 5 times, last edit by "Josey" (May 20th 2019, 5:05pm)


Cryztal

Knappe

Motto: Ich mag das Gefühl von völliger Ungezwungenheit. Dann bin ich am besten, würde ich sagen.

  • Send private message

22

Wednesday, May 15th 2019, 6:00pm

Volle Punktzahl für die Wahl des Gifs! :D
Ich habe kein Talent.
Meister Tentakel besitzt das ganze Talent.

Josey

Storyteller

  • "Josey" started this thread

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Send private message

24

Sunday, August 4th 2019, 6:01pm

Und wie arbeitet er dann? XD

Antwort:
Spoiler
*macht RPG-Studio auf*
*bekommt ne Idee und probiert sie aus*
*arbeitet an einem Script / Event*
*klappt*
*gerät in eine Sackgasse*
*beginnt einen Post zu schreiben*
*Ja Hallo ich habe 70% fertig, den Rest mache ich bestimmt später*
*öffnet nie wieder das Projekt*
highlight to read


Wenn du mir deine Adresse schickst, schicke ich dir selbstgebackene Kekse oder Kuchen? ;D

*schiebschieb* :D
(Der Titel wurde aktualisiert XD)

Irgendwer da, der das hier scripten kann und es JETZT tun will? XD
...oder demnächst? XD


Einmal im Monat: *wild wink* XD
Vlt fangen wir einfach mal mit Fragen an und ich versuchs: Muss "static_object" eine Definition sein oder ein attr_accessor? :<
Spoiler

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
#==============================================================================
# ** Game_Map Static Object
#------------------------------------------------------------------------------
#  Ein Sprite, der an einer Stelle einer bestimmten Map geladen wird (kann ein 
#  Tileset-Tile sein oder ein Picture) und dort verbleibt und manipuliert (angle,
#  hue, opacity) werden kann
#==============================================================================
 
class Game_Map
 
  def static_object
  # static_object definieren  
  end
 
# die einzelnen Funktionen:
# $game_map.static_object[a].setup( mapx, mapy, anchor=:bottom_left/anchor=:foot ) # von Unten links oder Unten Mitte
# $game_map.static_object[a].set_graphic( "Nam.png" ) # Benutze als Grafik eine Datei im Pictures Ordner
# $game_map.static_object[a].opacity = x # fade
# $game_map.static_object[a].show # zeige an
# $game_map.static_object[a].remove # entferne
# $game_map.static_object[a].set_tilesprite( x, y, breite, länge ) # Benutze als Grafik einen Ausschnitt aus dem aktuellen Tileset
# $game_map.static_object[a].angle = x # drehe die Grafik
# $game_map.static_object[a].hue = x # verändere die Farbe
 
# a muss mit einer Variable belegt werden können
 
end
highlight to read

Yay, ich bin voll der Pro XD°
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

This post has been edited 5 times, last edit by "Josey" (Aug 4th 2019, 5:46pm)


Playm

RPG Studio Webmaster

  • Send private message

25

Sunday, August 4th 2019, 9:19pm

Quoted

Muss "static_object" eine Definition sein oder ein attr_accessor? :<
wat? Die Funktion attr_accessor tut doch nix anderes, als eine Methode zu definieren

Ruby Source code

1
2
3
4
5
6
7
8
class Playm
  def name
    @name
  end
  def name=( value )
    @name = value
  end
end
ist das gleiche wie

Ruby Source code

1
2
3
class Playm
  attr_accessor :name
end


Ach fuck, jetzt hast Du mich :-D man kann mich viel zu leicht triggern. Naja, also wenn ich hier eh schon poste: static_object scheint ja ein Array zu sein, da man eckigen Klammern und einem Index benutzt.
Ob Du eine Methode schreibst, die die Array-Variable returned, oder die Abkürzung attr_reader oder attr_accessor benutzt ist egal.

Josey

Storyteller

  • "Josey" started this thread

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Send private message

26

Monday, August 5th 2019, 10:12am

Quoted

Ach fuck, jetzt hast Du mich :-D man kann mich viel zu leicht triggern.

Haha! XD Erfolgreich angelockt XD
(wenn ich das früher gewusst hätte, hätte ich vorher schon mit meinem Nicht-Wissen geprahlt >XD)

Erstmal danke, ich hab bisher immer noch nix gelernt, wie man sieht.
attr_accessor ist also dasselbe wie def.
Dann bleibe ich beim def, das kenn ich schon ein bisschen XD

Dann schau ich kurz, was nochmal ein array war. Jaja... (Ein Array war eine Möglichkeit, mehrere Werte zu speichern)
Erstmal also dafür sorgen, dass das Static_Object die Variable kennt, ja? XD°
Dann die einzelnen Befehle definieren?
Static_Object muss sicherlich irgendwie noch die Befehle übergeben bekommen oder so? @_@

...ich seh grad, dass im Picture-Script alles mit attr gemacht wird. Da ich von dort viel klauen wollte, mach ich das jetzt auch! >_<y


Spoiler

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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
#==============================================================================
# ** Game_Map Static Object
#------------------------------------------------------------------------------
#  Ein Sprite, der an einer Stelle einer bestimmten Map geladen wird (kann ein 
#  Tileset-Tile sein oder ein Picture) und dort verbleibt und manipuliert (angle,
#  hue, opacity) werden kann
#==============================================================================
 
class Game_Map
 
  attr_reader   :number                   # picture number
  attr_reader   :name                     # file name
  attr_reader   :anchor                   # starting point
  attr_reader   :x                        # x-coordinate
  attr_reader   :y                        # y-coordinate
  attr_reader   :tile_x                   # x Start im Tileset
  attr_reader   :tile_y                   # y Start im Tileset
  attr_reader   :length                   # Länge im Tileset
  attr_readr    :width                   # Breite im Tileset
  attr_reader   :zoom_x                   # x directional zoom rate
  attr_reader   :zoom_y                   # y directional zoom rate
  attr_reader   :opacity                  # opacity level
  attr_reader   :blend_type               # blend method
  attr_reader   :tone                     # color tone
  attr_reader   :angle                    # rotation angle
 
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     number : picture number
  #--------------------------------------------------------------------------
  def initialize(number)
    @number = number
    @name = ""
    @anchor = 0
    @x = 0.0
    @y = 0.0
    @zoom_x = 100.0
    @zoom_y = 100.0
    @opacity = 255.0
    @blend_type = 1
    @duration = 0
    @target_x = @x
    @target_y = @y
    @target_zoom_x = @zoom_x
    @target_zoom_y = @zoom_y
    @target_opacity = @opacity
    @tone = Tone.new(0, 0, 0, 0)
    @tone_target = Tone.new(0, 0, 0, 0)
    @tone_duration = 0
    @angle = 0
    @rotate_speed = 0
  end
 
 
  def static_object (variablennummer)
  # static_object definieren  
  variablennummer = [] # so? ><
 
  end
 
# die einzelnen Funktionen:
# $game_map.static_object[a].show # zeige an
# $game_map.static_object[a].setup( mapx, mapy, anchor=:bottom_left/anchor=:foot ) # von Unten links oder Unten Mitte
# könnte man hier ja einfach zusammennehmen
  #--------------------------------------------------------------------------
  # * Show Picture
  #     name       : file name
  #     anchor     : starting point
  #     x          : x-coordinate
  #     y          : y-coordinate
  #     zoom_x     : x directional zoom rate
  #     zoom_y     : y directional zoom rate
  #     opacity    : opacity level
  #     blend_type : blend method
  #--------------------------------------------------------------------------
  def show(name, anchor, x, y, zoom_x, zoom_y, opacity, blend_type)
    @name = name
    @anchor = anchor
    @x = x.to_f
    @y = y.to_f
    @zoom_x = zoom_x.to_f
    @zoom_y = zoom_y.to_f
    @opacity = opacity.to_f
    @blend_type = blend_type
    @duration = 0
    @target_x = @x
    @target_y = @y
    @target_zoom_x = @zoom_x
    @target_zoom_y = @zoom_y
    @target_opacity = @opacity
    @tone = Tone.new(0, 0, 0, 0)
    @tone_target = Tone.new(0, 0, 0, 0)
    @tone_duration = 0
    @angle = 0
    @rotate_speed = 0
  end
 
 
# $game_map.static_object[a].remove # entferne
  #--------------------------------------------------------------------------
  # * Remove Picture
  #--------------------------------------------------------------------------
  def remove
    @name = ""
  end
 
 
 
# $game_map.static_object[a].set_graphic( "Name.png" ) # Benutze als Grafik eine Datei im Pictures Ordner
# $game_map.static_object[a].set_tilesprite( x, y, breite, länge ) # Benutze als Grafik einen Ausschnitt aus dem aktuellen Tileset
 
# $game_map.static_object[a].opacity = x # fade
# $game_map.static_object[a].angle = x # drehe die Grafik
# $game_map.static_object[a].hue = x # verändere die Farbe
  #--------------------------------------------------------------------------
  # * Move Picture
  #     duration   : time
  #     anchor     : starting point
  #     x          : x-coordinate
  #     y          : y-coordinate
  #     zoom_x     : x directional zoom rate
  #     zoom_y     : y directional zoom rate
  #     opacity    : opacity level
  #     blend_type : blend method
  #--------------------------------------------------------------------------
  def move(duration, anchor, x, y, zoom_x, zoom_y, opacity, blend_type)
    @duration = duration
    @anchor = anchor
    @target_x = x.to_f
    @target_y = y.to_f
    @target_zoom_x = zoom_x.to_f
    @target_zoom_y = zoom_y.to_f
    @target_opacity = opacity.to_f
    @blend_type = blend_type
  end
  #--------------------------------------------------------------------------
  # * Change Rotation Speed
  #     speed : rotation speed
  #--------------------------------------------------------------------------
  def rotate(speed)
    @rotate_speed = speed
  end
  #--------------------------------------------------------------------------
  # * Start Change of Color Tone
  #     tone     : color tone
  #     duration : time
  #--------------------------------------------------------------------------
  def start_tone_change(tone, duration)
    @tone_target = tone.clone
    @tone_duration = duration
    if @tone_duration == 0
      @tone = @tone_target.clone
    end
  end
 
 
# a muss mit einer Variable belegt werden können
 
 
# Updaten?
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    if @duration >= 1
      d = @duration
      @x = (@x * (d - 1) + @target_x) / d
      @y = (@y * (d - 1) + @target_y) / d
      @zoom_x = (@zoom_x * (d - 1) + @target_zoom_x) / d
      @zoom_y = (@zoom_y * (d - 1) + @target_zoom_y) / d
      @opacity = (@opacity * (d - 1) + @target_opacity) / d
      @duration -= 1
    end
    if @tone_duration >= 1
      d = @tone_duration
      @tone.red = (@tone.red * (d - 1) + @tone_target.red) / d
      @tone.green = (@tone.green * (d - 1) + @tone_target.green) / d
      @tone.blue = (@tone.blue * (d - 1) + @tone_target.blue) / d
      @tone.gray = (@tone.gray * (d - 1) + @tone_target.gray) / d
      @tone_duration -= 1
    end
    if @rotate_speed != 0
      @angle += @rotate_speed / 2.0
      while @angle < 0
        @angle += 360
      end
      @angle %= 360
    end
  end
end
 
 
end
highlight to read

Ich komm noch nicht ganz rein :/
Bin absolut nicht sicher, wie ich das hinkriegen soll, dass das Script weiß, woher ich das Bild nehme, wenn es 2 verschiedene Orte gibt. Wahrscheinlich ist mein Ansatz wieder komplett danebengegriffen. T_T Nicht lachen!
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

This post has been edited 1 times, last edit by "Josey" (Aug 5th 2019, 10:03am)


Playm

RPG Studio Webmaster

  • Send private message

27

Monday, August 5th 2019, 10:34pm

Quoted

Wahrscheinlich ist mein Ansatz wieder komplett danebengegriffen. T_T Nicht lachen!

Ganz knapp am Ziel vorbei :verrückt:

Ganz langsam, wie ein Playm vorgehen. :-) Zählen wir erstmal auf, was wir wollen:
  1. Wir brauchen (sagen wir mal) 50 frei platzierbare Grafiken auf der Map
  2. Diese wollen wir über die $game_map Variable benutzen
  3. Wir wollen so Methoden wie

    Ruby Source code

    1
    
    setup( mapx, mapy, anchor=:bottom_left/anchor=:foot )
    und

    Ruby Source code

    1
    
    set_graphic( "Nam.png" )
    für jedes dieser 50 Dinger aufrufen können.


Diese 50 Dinger, haben also alle die gleichen Methoden. Also können wir eine Klasse schreiben, die diese Methoden definiert und dann 50 Objekte dieser Klasse erzeugen.

Ruby Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
## Teil 1
class Map_Object
  attr_reader :map_x
  attr_reader :map_y
  attr_reader :anchor
  attr_reader :graphic
  def initialize
    @map_x = 0
    @map_y = 0
    @anchor = :top_left
    @graphic = ""
  end
  def setup( mapx, mapy, anchor )
    @map_x = mapx
    @map_y = mapy
    @anchor = anchor
  end
  def set_graphic( name )
    @graphic = name
  end
end


Wir wollen ja scheinbar, dass wir schreiben können

Ruby Source code

1
$game_map.static_object[ 1-50 ]
, um auf diese Dinger zuzugreifen, also sind die 50 Objekte in einem Attribut der Klasse Game_Map gespeichert.

Ruby Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
## Teil 2
class Game_Map
  def static_object
    # wenn beim ersten Aufruf von $game_map.static_object der Array noch nicht
    # mit Werten gefüllt ist, fülle ihn erst mit Start-Werten auf
    if @static_object == nil
      @static_object = []
      for i in 0..49
        @static_object[i] = Map_Object.new()
      end
    end
    # gib den Array zurück
    return @static_object 
  end
end


Jetzt können wir schonmal rumprobieren.
Nachdem wir Teil1 und Teil 2 als neue Scripte über Main eingefügt haben, können wir in einem Event mal ein paar Script-Befehle testen:

Ruby Source code

1
print $game_map.static_object.class


Ruby Source code

1
print $game_map.static_object.length


Ruby Source code

1
2
3
4
print(
  $game_map.static_object[0].map_x,
  $game_map.static_object[0].map_y
)


Ruby Source code

1
$game_map.static_object[0].setup(5,7,:top)

Josey

Storyteller

  • "Josey" started this thread

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Send private message

28

Monday, August 5th 2019, 11:48pm

Quoted

Ganz knapp am Ziel vorbei :verrückt:

Aber nur ganz knapp XD

print $game_map.static_object.class
-> Zeigt mir "Array" an

print $game_map.static_object.length
-> spuckt "50" aus

print(
$game_map.static_object[0].map_x,
$game_map.static_object[0].map_y
)
-> sagt 00 (ignoriert das Komma XD)

$game_map.static_object[0].setup(5,7,:top)
-> da passiert gar nix. Ich vermute, weil wir dem Object kein Bild zugewiesen haben? Das Script muss erst kapieren, dass es Bilder anzeigen soll, richtig?
Stur

Ruby Source code

1
2
3
4
5
a= $game_map.static_object
 
a[0].set_graphic( "Mpname.png" )
 
a[0].setup(5,7,:top)

aufzurufen, hilft jedenfalls nix XD
Aber zumindest bekomme ich keinen Fehler, das ist schonmal gut.
Jetzt muss ich einbauen, dass er den Pfad findet.

Das würd ich jetzt hierrüber machen:

Ruby Source code

1
2
3
		self.bitmap = RPG::Cache.picture( name )
		self.ox = self.bitmap.width / 2
		self.oy = self.bitmap.height / 2

Stimmt das so?
...ich bin zu müde, ich guck morgen nochmal XD
Auf jeden Fall schonmal danke!
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Playm

RPG Studio Webmaster

  • Send private message

29

Tuesday, August 6th 2019, 2:10am

Quoted

$game_map.static_object[0].setup(5,7,:top)
-> da passiert gar nix.

Anschließend sollte

Ruby Source code

1
2
3
4
print(
$game_map.static_object[0].map_x,
$game_map.static_object[0].map_y
) 
die neuen Werte 5 und 7 ausgeben.

Bisher haben wir uns nur darum gekümmert, unsere Map Objekte benutzbar zu machen. Die Anzeige kommt jetzt erst. Dafür brauchen wir einen Sprite, der sich genau an die Stelle schiebt, wo unser Map Objekt auf der Karte ist und genau das anzeigt, was unser Map Objekt als Picture-Name gesetzt bekommen hat.
Das könnte dann so aussehen:

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
## Teil 3
class Object_Sprite < Sprite
  def initialize(viewport, map_object)
    super(viewport)
    @object = map_object
    update
  end
  def update
    super
    if @graphic_name != @object.graphic
      @graphic_name = @object.graphic
      if @graphic_name != ""
        self.bitmap = RPG::Cache.picture(@graphic_name)
      else
        self.bitmap = nil
      end
    end
    map_x = @object.map_x
    map_y = @object.map_y
    self.x = (map_x * 128 - $game_map.display_x + 3) / 4 + 16 # schwarze magie
    self.y = (map_y * 128 - $game_map.display_y + 3) / 4 + 16 # schwarze magie
    self.z = self.y + 16
  end
end

Jedes neue Objekt der Klasse Object_Sprite bekommt ein Map Objekt als Parameter. Dieses verwendet es im Update dann, um sich entsprechend der Daten vom Map Objekt auf dem Bildschirm zu positionieren. Hier schummel ich mal kurz und erkläre nicht woher die Berechnung der Bildschirmkoordinaten x,y,z kommen. Ist nicht sooo wichtig, das nachrechnen zu können. Es funktioniert ja hoffentlich.

Jetzt noch ein bisschen alias-Zeug, um in bestehende Methoden des Spriteset_Map unseren Code reinzumogeln. Alles was Teil4 macht, ist dass Spriteset_Map 50 Object_Sprites erzeugt und jedem ein anderes der Map Objects als Parameter übergibt. Außerdem werden die Object Sprites zu den Event Sprites in Viewport1 sortiert, statt zu den Pictures in Viewport2. Dadurch kann je nach Priority, ein Event oder Tile das Map Object verdecken.

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
## Teil 4
class Spriteset_Map
  alias_method( :aliased_initialize_method, :initialze )
  alias_method( :aliased_update_method, :update )
  alias_method( :aliased_dispose_method, :dispose )
 
  def initialize
    @map_object_sprites = []
    aliased_initialize_method
    for i in 0...$game_map.static_object.length
      sprite = Object_Sprite.new(@viewport1, $game_map.static_object[i])
      @map_object_sprites.push(sprite)
    end
  end
 
  def dispose
    for sprite in @map_object_sprites
      sprite.dispose
    end
    aliased_dispose_method
  end
 
  def update
    aliased_update_method
    for sprite in @map_object_sprites
      sprite.update
    end
  end
end


Ich habe den Code nicht getestet, vielleicht habe ich mich an ein paar Stellen vertippt. Es ist schon ziemlich dunkel in meinem Zimmer.
Sorry auch, dass ich dir hier einfach Code hinklatsche, statt ausführlich zu erklären, aber ich bin wahrscheinlich die nächsten Tage nicht lange online, also wollte ich dir was zum Spielen für die Zwischenzeit dalassen. Vielleicht schwebt ja auch ein Irrlicht oder so vorbei, um dir weiterzuhelfen.

Josey

Storyteller

  • "Josey" started this thread

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Send private message

30

Wednesday, August 7th 2019, 11:24pm

Quoted

Anschließend sollte

Ruby Source code

1
2
3
4
print(
$game_map.static_object[0].map_x,
$game_map.static_object[0].map_y
) 

die neuen Werte 5 und 7 ausgeben.

Ja, hatte ich gesehen, hat auch funktioniert! Nur das Komma wird nach wie vor verschluckt. Das macht der Code doch sonst nicht? :/

Quoted

Dafür brauchen wir einen Sprite, der sich genau an die Stelle schiebt, wo unser Map Objekt auf der Karte ist und genau das anzeigt, was unser Map Objekt als Picture-Name gesetzt bekommen hat.

...ein Sprite. Klar. Mist. XD°
Kein Bitmap.

Quoted

Jedes neue Objekt der Klasse Object_Sprite bekommt ein Map Objekt als Parameter. Dieses verwendet es im Update dann, um sich entsprechend der Daten vom Map Objekt auf dem Bildschirm zu positionieren. Hier schummel ich mal kurz und erkläre nicht woher die Berechnung der Bildschirmkoordinaten x,y,z kommen. Ist nicht sooo wichtig, das nachrechnen zu können. Es funktioniert ja hoffentlich.

Ungefähr kann ichs aber nachvollziehen, hier arbeitet das Script mit game_display, statt einem der mir bekannten Klassen (? XD), da wird einfach anders gerechnet.

Quoted

Außerdem werden die Object Sprites zu den Event Sprites in Viewport1 sortiert, statt zu den Pictures in Viewport2. Dadurch kann je nach Priority, ein Event oder Tile das Map Object verdecken.

Ah, die Viewports, mit denen hatte ich mich die Tage zufällig beschäftigt. Das passt ja. Allso Standart scheint erstmal 0 angegeben zu sein, werd mal schauen, wie ich 1 und 2 als Prio übergeben kann :D

Quoted

Ich habe den Code nicht getestet, vielleicht habe ich mich an ein paar Stellen vertippt. Es ist schon ziemlich dunkel in meinem Zimmer.

Ich hab ne beleuchtete Tastatur XD
Aber alles okay, nur einmal ein i bei "initialize" im Teil 4 vergessen, es funktioniert, das Bild wird angezeigt! :D

Quoted

Sorry auch, dass ich dir hier einfach Code hinklatsche, statt ausführlich zu erklären, aber ich bin wahrscheinlich die nächsten Tage nicht lange online, also wollte ich dir was zum Spielen für die Zwischenzeit dalassen.

Danke dir!
Dann liste ich mal auf, was ich heute Nachmittag versuche hinzukriegen und werd heute abend reinposten, was ich hinbekommen habe:
1.) Bild soll nur auf der einen Map angezeigt werden (heißt: muss bei Mapwechsel gelöscht/wieder aufgerufen werden)
2.) Priority verändern

3.) Angle einbauen
4.) Opacity einbauen
5.) fürs Sprite aufs Tileset zugreifen können

...soweit erstmal! ><
Danke!


Ein erster Ansatz für 1.) und 2.)
Spoiler

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
#==============================================================================
# ** Game_Map Static Object
#------------------------------------------------------------------------------
#  Ein Sprite, der an einer Stelle einer bestimmten Map geladen wird (kann ein 
#  Tileset-Tile sein oder ein Picture) und dort verbleibt und manipuliert (angle,
#  hue, opacity) werden kann
#==============================================================================
 
## Teil 1
class Map_Object
  attr_reader :map_x
  attr_reader :map_y
  attr_reader :anchor
  attr_reader :priority
  attr_reader :graphic
  def initialize
    @map_x = 0
    @map_y = 0
    @anchor = :top_left
    @priority = 0
    @graphic = ""
  end
  def setup( mapx, mapy, anchor, priority )
    @map_x = mapx
    @map_y = mapy
    @anchor = anchor
    @priority = priority
  end
  def set_graphic( name )
    @graphic = name
  end
end
 
 
## Teil 2
class Game_Map
  def static_object
    # wenn beim ersten Aufruf von $game_map.static_object der Array noch nicht
    # mit Werten gefüllt ist, fülle ihn erst mit Start-Werten auf
    if @static_object == nil
      @static_object = []
      for i in 0..49
        @static_object[i] = Map_Object.new()
      end
    end
    # gib den Array zurück
    return @static_object 
  end
end
 
 
## Teil 3
class Object_Sprite < Sprite
  def initialize(viewport, map_object)
    super(viewport)
    @object = map_object
    update
  end
  def update
    super
    if @graphic_name != @object.graphic
      @graphic_name = @object.graphic
      if @graphic_name != ""
        self.bitmap = RPG::Cache.picture(@graphic_name)
      else
        self.bitmap = nil
      end
    end
    map_x = @object.map_x
    map_y = @object.map_y
    map_z = @object.priority
    self.x = (map_x * 128 - $game_map.display_x + 3) / 4 + 16 # schwarze magie
    self.y = (map_y * 128 - $game_map.display_y + 3) / 4 + 16 # schwarze magie    
 
 if map_z == 0
     self.z = self.y + 16 
 elsif map_z == 1
    self.z = self.y + 16 +64
  elsif map_z == 2
    self.z = self.y + 16 +96
end
 
  end
end
 
 
## Teil 4
class Spriteset_Map
  alias_method( :aliased_initialize_method, :initialize )
  alias_method( :aliased_update_method, :update )
  alias_method( :aliased_dispose_method, :dispose )
 
  def initialize
    @map_object_sprites = []
    aliased_initialize_method
   if $game_switches[1] == true  # auf Farm-Map
    for i in 0...$game_map.static_object.length
      sprite = Object_Sprite.new(@viewport1, $game_map.static_object[i])
      @map_object_sprites.push(sprite)
    end
   end  
  end
 
  def dispose
    for sprite in @map_object_sprites
      sprite.dispose
    end
    aliased_dispose_method
  end
 
  def update
    aliased_update_method
    for sprite in @map_object_sprites
      sprite.update
    end
  end
end
highlight to read


zu 1.) Da ich auf der Farm (die Map mit den Sprites) eh einen Switch aktiv habe (verschiedene Gründe, es ist der "Du bist grad auf der Farm"-Switch XD), habe ich die Stelle, die die Sprites bei Mapaufruf initializiert, einfach in deinen if switch on gesetzt und es klappt XD
zu 2.) Ich habe einen zusätzlichen Parameter definiert: Priority
Den frage ich weiter unten ab. Der Nutzer kann Prio 0,1 oder 2 im Scriptaufruf eingeben, jenachdem wird die Prio festgelegt. Scheint zu funktionieren XD

Meine Lösungen im Josey-Style XD



Edit: Aktuell arbeite ich daran, die Grafik aus dem Tileset holen zu können. Dazu hab ich mir einen zwieten Aufruf angelegt (vermutlich geht das auch anders, aber ich weiß nicht wie):

Ruby Source code

1
2
3
4
5
6
7
8
9
10
  def setup2( mapx, mapy, anchor, priority, tilestx, tilesety, tilebright, tilelength )
    @map_x = mapx
    @map_y = mapy
    @anchor = anchor
    @priority = priority
    @tilestx = tilestx
    @tilesety = tilesety
    @tilebright = tilebright
    @tilelength = tilelength
  end

Dazu hab ich mir in Teil 3 folgendes gebastelt (erstmal zum probieren):
Spoiler

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
## Teil 3
class Object_Sprite < Sprite
  def initialize(viewport, map_object)
    super(viewport)
    @object = map_object
    update
  end
  def update
    super
    if @graphic_name != @object.graphic
      @graphic_name = @object.graphic
      if @graphic_name != ""
        self.bitmap = RPG::Cache.tileset( @graphic_name )
        self.bitmap.src_rect.set( tilestx, tilesety, tilebright, tilelength)
 
      else
        self.bitmap = nil
      end
    end
    map_x = @object.map_x
    map_y = @object.map_y
    map_z = @object.priority
    self.x = (map_x * 128 - $game_map.display_x + 3) / 4 + 16 # schwarze magie
    self.y = (map_y * 128 - $game_map.display_y + 3) / 4 + 16 # schwarze magie    
 
 if map_z == 0
     self.z = self.y + 16 
 elsif map_z == 1
    self.z = self.y + 16 +64
  elsif map_z == 2
    self.z = self.y + 16 +96
end
 
  end
end
highlight to read

Und eigentlich müsste das doch klappen?
Ich krieg einen Fehler:
---------------------------
Script 'Test' line 77: NoMethodError occurred.

undefined method `src_rect' for #<Bitmap:0x28d68e0>
---------------------------
Aber src_rect ist für Bitmaps in "Sprite" ganz sicher definiert. Ich versteh das nicht :<
Der Scriptaufruf:

Ruby Source code

1
2
3
4
5
6
7
8
a= 
$game_map.static_object
 
a[0].set_graphic( "023-FarmVillage01" 
)
 
a[0].setup2(
5,7,:top,2,0,224,128,160)
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

This post has been edited 5 times, last edit by "Josey" (Aug 7th 2019, 11:22pm)


Playm

RPG Studio Webmaster

  • Send private message

31

Thursday, August 8th 2019, 12:59am

Die Methode ist nicht für Bitmaps definiert sondern für Sprite#src_rect.
Da Object_Sprite ein Sprite ist (siehe Teil 3), kannst Du einfach schreiben self.set_rect in deinem Script. :-)

Quoted from "Josey"

...ein Sprite. Klar. Mist. XD°
Kein Bitmap.
:-*

Für das Entfernen der Objekte beim Mapwechsel kannst Du mal probieren bei Game_Map die Methode setup zu aliasen und dann

Ruby Source code

1
2
3
4
  def setup(map_id)
    @static_object = nil
    aliased_setup_method(map_id)
  end

Dann wird die @static_object Variable (weil sie ja auf nil gesetzt wurde) beim nächsten Aufruf von $game_map.static_object neu gefüllt und damit resettet.
Könnte klappen, habe ich wieder nicht probiert. :-D

Opacity und Angle funktionieren genauso wie der Rest: Du stellst im Map_Object den Wert ein, kann man ja über eine eigene Methode dann setzen, und im Object_Sprite#update setzt Du dann über self.opacity = @object.opacity das Attribut des Sprites auf den Wert vom Map_Object.

Josey

Storyteller

  • "Josey" started this thread

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Send private message

32

Friday, August 9th 2019, 8:36am

Wieso ich wieder den Fehler gemacht habe: Genau drüber steht "bitmap", deswegen dachte ich, muss das unten auch stehen XD°

src_rect:
OMG; es ist wunderschön und funktioniert! XD
Kann mein Spiel abkacken, wenn ich mehr als 50 Sprite versuche zu laden? :/

Methode aliasen:
Waaaahhh, da muss ich jetzt erstmal in Ruhe nachgucken, wie das ging mit dem aliasen! XD
Melde mich dann später nochmal, wenn ich das weiß (oder merke, ich kriegs nicht hin), weil ich bald losmuss :P

Ich habs hingekriegt! XD
Aber da ist der Nachteil, dass ich alle Grafiken neu aufrufen muss, wenn ich die Map wieder betrete. Die andere Methode

Ruby Source code

1
2
3
    for i in 0...$game_map.static_object.length
      sprite = Object_Sprite.new(@viewport1, $game_map.static_object[i])
      @map_object_sprites.push(sprite)

in einen Switch zu setzen, funktioniert da besser, weil die Grafiken auf der Map dann wieder geladen werden und auf jeder anderen nicht. Gibts da Nachteile bei?


Danke dir! :D

Jetzt mach ich mich an opacity und angle, danke! :D
Edit: Fertig. Zudem hab ich grad noch einen anderen "anchor" eingebaut, einen, der unten Links die Grafik einsetzt :D

Hue krieg ich nicht hin, was mach ich falsch? Ich hab in den anderen Scripts nur "charakter_hue" und sowas gesehen, jetzt weiß ich nicht, wie ichs nennen soll. ._.
Spoiler

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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
## Teil 1
class Map_Object
  attr_reader :map_x
  attr_reader :map_y
  attr_reader :anchor
  attr_reader :priority
  attr_reader :graphic
  attr_reader :opacity
  attr_reader :angle
  attr_reader :hue
  attr_reader :tilestx
  attr_reader :tilesety
  attr_reader :tilebright
  attr_reader :tilelength
 
  def initialize
    @map_x = 0
    @map_y = 0
    @anchor = :top
    @priority = 0
    @opacity = 255
    @angle = 0
    @hue = 0
    @graphic = ""
    @tilestx = 0 
    @tilesety = 0 
    @tilebright = 0
    @tilelength = 0
  end
  def setup( mapx, mapy, anchor, priority )
    @map_x = mapx
    @map_y = mapy
    @anchor = anchor
    @priority = priority
  end
  def setup2( mapx, mapy, anchor, priority, tilestx, tilesety, tilebright, tilelength )
    @map_x = mapx
    @map_y = mapy
    @anchor = anchor
    @priority = priority
    @tilestx = tilestx
    @tilesety = tilesety
    @tilebright = tilebright
    @tilelength = tilelength
  end
  def set_graphic( name )
    @graphic = name
  end
 
 
end
 
 
 
## Teil 2
class Game_Map
  def static_object
    # wenn beim ersten Aufruf von $game_map.static_object der Array noch nicht
    # mit Werten gefüllt ist, fülle ihn erst mit Start-Werten auf
    if @static_object == nil
      @static_object = []
      for i in 0..49
        @static_object[i] = Map_Object.new()
      end
    end
    # gib den Array zurück
    return @static_object 
  end
 
#  alias_method(:aliased_setup_method, :setup )
#  def setup(map_id)
#    @static_object = nil
#    aliased_setup_method(map_id)
#  end  
 
end
 
 
## Teil 3
class Object_Sprite < Sprite
  def initialize(viewport, map_object)
    super(viewport)
    @object = map_object
    update
  end
  def update
    super
    if @graphic_name != @object.graphic
      @graphic_name = @object.graphic
    @tilestx = @object.tilestx
    @tilesety = @object.tilesety
    @tilebright = @object.tilebright
    @tilelength = @object.tilelength
    self.opacity = @object.opacity
    self.angle = @object.angle
#    self.hue = @object.hue
 
      if @graphic_name != ""
#        self.bitmap = RPG::Cache.picture(@graphic_name)
#      elsif
 
        self.bitmap = RPG::Cache.tileset( @graphic_name )
        self.src_rect.set( @tilestx, @tilesety, @tilebright, @tilelength)
 
      else
        self.bitmap = nil
      end
    end
 
    map_x = @object.map_x
    map_y = @object.map_y
    map_z = @object.priority
 
    if @object.anchor == :top
      self.x = (map_x * 128 - $game_map.display_x + 3) / 4 + 16 # schwarze magie
      self.y = (map_y * 128 - $game_map.display_y + 3) / 4 + 16 # schwarze magie    
    elsif @object.anchor == :bottom
      self.x = ((map_x * 128 - $game_map.display_x + 3) / 4 + 16)  # schwarze magie
      self.y = ((map_y * 128 - $game_map.display_y + 3) / 4 + 16) -@tilelength # schwarze magie    
    end
 
 
 if map_z == 0
     self.z = self.y + 16 
 elsif map_z == 1
    self.z = self.y + 16 +32
  elsif map_z == 2
    self.z = self.y + 16 +64
  elsif map_z == 3
    self.z = self.y + 16 +96
  elsif map_z == 4
    self.z = self.y + 16 +128
  elsif map_z == 5
    self.z = self.y + 16 +160
end
 
 
 
  end
end
 
 
## Teil 4
class Spriteset_Map
  alias_method( :aliased_initialize_method, :initialize )
  alias_method( :aliased_update_method, :update )
  alias_method( :aliased_dispose_method, :dispose )
 
  def initialize
    @map_object_sprites = []
    aliased_initialize_method
   if $game_switches[1] == true  
    for i in 0...$game_map.static_object.length
      sprite = Object_Sprite.new(@viewport1, $game_map.static_object[i])
      @map_object_sprites.push(sprite)
    end
   end  
  end
 
  def dispose
    for sprite in @map_object_sprites
      sprite.dispose
    end
    aliased_dispose_method
  end
 
  def update
    aliased_update_method
    for sprite in @map_object_sprites
      sprite.update
    end
  end
 
end
highlight to read

Dazu jetzt die Frage: Wie krieg ich das "tilt" hin? >_<
Das Script muss auf Aufruf erstmal funktionieren, wie ichs dann ins Spiel einbaue, weiß ich schon, da hab ich meine Variablen und Hilfsscripte. Aber ich hätte gerne einen Scriptaufruf, damit dieses hier mit einem Sprite funktioniert:
Spoiler

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
# In einem CallScript den folgenden Befehl benutzen, um Event#17 zu kippen.
#    tilt_character( 17 )
class Sprite_Character
  def tilt_left
    @tilt_frames = [5,10,20,15,10,5,0]
  end
  def tilt_right
    @tilt_frames = [-5,-10,-20,-15,-10,-5,0]
  end
  alias_method(:org_update_wo_tilting, :update)
  def update(*args)
    r = org_update_wo_tilting(*args)
    if @tilt_frames and not @tilt_frames.empty?
self.angle = @tilt_frames.shift
#self.angle = @tilt_frames.pop
      self.angle += 360 while self.angle < 0
      self.angle %= 360
    end
    return r
  end
end
class Interpreter
  def tilt_character(id, dir='left')
#print("tilt_character ", id, ", ", dir)    
    char = get_character(id)
    if char
      spriteset = $scene.instance_variable_get(:@spriteset)
      char_sprites = spriteset.instance_variable_get(:@character_sprites)
      sprite = char_sprites.find{|s| s.character == char }
 
      	case $game_player.direction
        	when 2 then sprite.tilt_left
        	when 4 then sprite.tilt_left
        	when 6 then sprite.tilt_right
        	when 8 then sprite.tilt_right
      	end
 
#      sprite.tilt_left if dir == 'left'
#      sprite.tilt_right if dir == 'right'
    end
    return true
  end
end
highlight to read

Da bin ich aktuell noch überfragt ._.

Wenn ich den angle anwende, wirkt es nicht, wie beim tilten, sondern ganz anders XD Selbst wenn ich den anchor woanders hinsetze, der angle scheint immer oben links anzusetzen, um das Bild zu drehen. Ich bräuchte den Drehpunkt aber unten mitte :<
Außerdem muss ich zumindest opacity und angle noch ändern können, nachdem der Sprite erstellt wurde. Wie komm ich da ran? Muss ich einen Interpreter dafür schreiben, oder geht das auch (oder besser) anders? Ich bin noch nicht sicher, ob ich opacity und angle über ein Event mit Scriptaufruf oder in einem Script ändern lasse ._.
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

This post has been edited 4 times, last edit by "Josey" (Aug 9th 2019, 8:36am)


Irrlicht

Leuchtendes Irgendwas

Motto: Keep shining!

  • Send private message

33

Friday, August 9th 2019, 12:46pm

*Schleicht auch mal in den Thread*
Weiß nicht ob ich gerade auf dem Stand der Dinge bin, aber...

Kann mein Spiel abkacken, wenn ich mehr als 50 Sprite versuche zu laden? :/
Zu viele Sprites auf einmal (vermutlich ein paar hundert) könnten sich zunehmend auf die Performance auswirken. Abgesehen davon sollten dir aber keine Grenzen gesetzt sein. :)

Hue krieg ich nicht hin, was mach ich falsch?
Sprites haben tatsächlich keine Einstellung dafür. Um den Farbton anzupassen wird eine umgefärbte Version des Bildes verwendet (-> Bitmap).

An dieser Stelle bin ich mir gerade nicht wirklich sicher was in deinem Fall die beste Lösung wäre:

Normalerweise kannst du den Farbton eines Bitmaps mit
Bitmap#hue_change
anpassen. Bitmaps zu verändern die du wie in deinem Fall über RPG::Cache erhalten hast ist aber grundsätzlich nicht empfehlenswert. Der eigentliche Zweck des Caches ist schließlich Bitmap-Objekte für andere Sprites wiederzuverwenden.

Du könntest dir allerdings eine zweite Version des Tilesets mit verändertem Farbton speichern. RPG::Cache bietet für Tilesets normalerweise keine Option für einen Hue-Wert an (anders als für Characters). Du könntest aber alternativ den allgemeineren Aufruf verwenden:
RPG::Cache.load_bitmap("data/tilesets/" + tilesetname , hue )

RPG::Cache löscht normalerweise keine Bitmaps selbst, und Tileset-Bitmaps sind tendentiell relativ groß (32KB pro Zeile). Wenn du also ein sehr langes Tileset verwendest und die 360 verschiedenen Hues tatsächlich ausschöpfst könnte das im Extremfall sehr viel Arbeitsspeicher in Anspruch nehmen.


Die Implementierung des RPG::Cache findest du bei Interesse auch im Maker-Handbuch bzw. in der Scientia.


der angle scheint immer oben links anzusetzen, um das Bild zu drehen. Ich bräuchte den Drehpunkt aber unten mitte :<
Dafür gibt es im Sprite die Eigenschaften ox und oy. Standardmäßig sind beide 0 (->obere linke Ecke). Neben Angle und Zoom bestimmt dieser Offset allerdings auch den Ursprung der x- und y-Koordinate des Sprites, du müsstest die Koordinaten also entsprechend wieder korrigieren.

Josey

Storyteller

  • "Josey" started this thread

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Send private message

34

Friday, August 9th 2019, 1:05pm

Quoted

Zu viele Sprites auf einmal (vermutlich ein paar hundert) könnten sich zunehmend auf die Performance auswirken. Abgesehen davon sollten dir aber keine Grenzen gesetzt sein. :)

Ein paar hundert klingt gut XD°
Ich glaube nicht, dass der Spieler 500 Bäume pflanzt :P
...er könnte es zwar theoretisch... aber vielleicht setze ich da ingame ne Grenze XD°

Zum hue:
*erschlagen werd*
Okay, wenn der Wert nicht für Sprites vordefiniert ist, schiebe ich das erstmal zur Seite, weil das nicht so wichtig ist. Ich versuche das später nochmal in Ruhe, wenn der Rest des Scriptes steht.
Ich bin grad schon überrascht, wie weit ich bisher gekommen bin XD

Quoted

Dafür gibt es im Sprite die Eigenschaften ox und oy. Standardmäßig sind beide 0 (->obere linke Ecke). Neben Angle und Zoom bestimmt dieser Offset allerdings auch den Ursprung der x- und y-Koordinate des Sprites, du müsstest die Koordinaten also entsprechend wieder korrigieren.

Ja, darüber hab ich auch gerade auf der Siete gelesen, die Playm verlinkt hatte.
Hab mich schon gewundert, wieso das Sprite woannders erscheint, wenn ich am ox und oy rumspiele.
Bsp: Ein Baum wird als Sprite vom Tileset mit folgenden Zahlen erstellt:
setup2( mapx, mapy, anchor, priority, tilestx, tilesety, tilebright, tilelength )
11,10,:bottom_left,5,0,160,4*32,160

Das Sprite beginnt also auf den Tiles 11 und 10 und baut sich von dort aus nach oben rechts auf.
Egal, ob ich
self.ox = self.x (+ die hälfte der Breite des Tiles)
self.oy = self.y
mache oder
self.ox = 10 (+ die hälfte der Breite des Tiles)
self.oy = 11
beides funktioniert nicht gut und stellt meinen angle auch nicht auf die stelle, auf die es soll.
Wenn ox und oy die Startpunkte für x und y sind, gibt es ja keine Chance, ox und oy AUF den Sprite zu legen? :/
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Playm

RPG Studio Webmaster

  • Send private message

35

Friday, August 9th 2019, 10:20pm

Hallo, ich husche nur ganz kurz durch.

Quoted

Das Sprite beginnt also auf den Tiles 11 und 10 und baut sich von dort aus nach oben rechts auf.
Egal, ob ich
self.ox = self.x (+ die hälfte der Breite des Tiles)
self.oy = self.y
mache oder
self.ox = 10 (+ die hälfte der Breite des Tiles)
self.oy = 11
beides funktioniert nicht gut und stellt meinen angle auch nicht auf die stelle, auf die es soll.
Wenn ox und oy die Startpunkte für x und y sind, gibt es ja keine Chance, ox und oy AUF den Sprite zu legen? :/


ox und oy müssen nicht die self.x und self.y Koordinaten draufadiert bekommen. Es reicht eigentlich sowas:

Ruby Source code

117
118
119
    elsif @object.anchor == :bottom
      self.oy = @tilelength
    end

Anstatt in dem Fall die Y-Koordinate zu ändern.
Anschließend wird auch um die untere Seite gedreht. Probier dann mal ox Stückchenweise hoch zu setzen, zum Beispiel auf 16

Ruby Source code

1
2
3
4
    if @object.anchor == :bottom
      self.ox = 16
      self.oy = @tilelength
    end

oder vielleicht ganz verrückt:

Ruby Source code

1
2
3
4
    if @object.anchor == :bottom
      self.ox = self.src_rect.width / 2
      self.oy = self.src_rect.height
    end

Ich schau in ein paar Stunden nochmal rein, bin gerade wirklich nur auf dem Sprung. Sorry für die Kürze des Beitrages

Josey

Storyteller

  • "Josey" started this thread

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Send private message

36

Friday, August 9th 2019, 11:06pm

Aber sobald ich den oy verändere, verrutscht der Baum komplett und ist nicht mehr dort, wo er sein sollte :/
Der rechte Baum ist es, den ich auftauchen lasse.
Ich probier mal noch etwas rum, aber falls du kommst, bevor ich ne Lösung hab, hier shconmal Screenshots XD°

Bei dem Code:

Ruby Source code

1
2
      self.ox = self.src_rect.width / 2
      self.oy = self.src_rect.height

ist es dasselbe, nur dass der Baum dann noch ein Stück mehr links sitzt. ._.
Dadurch, dass ich die o-Werte verändere, ändert sich ja auch der Bezugspunkt der x und y Werte :<
Ich weiß nicht, wie ich das lösen soll.
Josey has attached the following images:
  • Baum ohne oy.png
  • Baum mit oy.png
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Irrlicht

Leuchtendes Irgendwas

Motto: Keep shining!

  • Send private message

37

Saturday, August 10th 2019, 12:00am

Wenn du den Bezugspunkt verschiebst sollte sich an der Position x/y nicht mehr die linke obere Ecke des Sprites befinden sondern die Stelle die du als Bezugspunkt ausgewählt hast.
Das sollte sich aber relativ einfach korrigieren lassen indem du die gleichen Werte auch nochmal auf die x- und y-Koordinate aufaddierst. :)

Josey

Storyteller

  • "Josey" started this thread

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Send private message

38

Saturday, August 10th 2019, 12:19am

Heißt das, ich sollte ox und oy im Setup übergeben und nicht x und y? ><
Und x und y müssen dann 0 sein? Sowas hatte ich zwischendurch probiert, aber es ging nicht, der Sprite landete immer ganz oben links in der Ecke. ._.

Aktueller Code:
Spoiler

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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
## Teil 1
class Map_Object
  attr_reader :map_x
  attr_reader :map_y
  attr_reader :anchor
  attr_reader :priority
  attr_reader :graphic
  attr_reader :opacity
  attr_reader :angle
  attr_reader :hue
  attr_reader :tilestx
  attr_reader :tilesety
  attr_reader :tilebright
  attr_reader :tilelength
 
  def initialize
    @map_x = 0
    @map_y = 0
    @anchor = :top_left
    @priority = 0
    @opacity = 255
    @angle = 0
    @hue = 0
    @graphic = ""
    @tilestx = 0 
    @tilesety = 0 
    @tilebright = 0
    @tilelength = 0
  end
  def setup( mapx, mapy, anchor, priority )
    @map_x = mapx
    @map_y = mapy
    @anchor = anchor
    @priority = priority
  end
  def setup2( mapx, mapy, anchor, priority, tilestx, tilesety, tilebright, tilelength )
    @map_x = mapx
    @map_y = mapy
    @anchor = anchor
    @priority = priority
    @tilestx = tilestx
    @tilesety = tilesety
    @tilebright = tilebright
    @tilelength = tilelength
  end
  def set_graphic( name )
    @graphic = name
  end
 
 
end
 
 
 
## Teil 2
class Game_Map
  def static_object
    # wenn beim ersten Aufruf von $game_map.static_object der Array noch nicht
    # mit Werten gefüllt ist, fülle ihn erst mit Start-Werten auf
    if @static_object == nil
      @static_object = []
      for i in 0..49
        @static_object[i] = Map_Object.new()
      end
    end
    # gib den Array zurück
    return @static_object 
  end
 
#  alias_method(:aliased_setup_method, :setup )
#  def setup(map_id)
#    @static_object = nil
#    aliased_setup_method(map_id)
#  end  
 
end
 
 
## Teil 3
class Object_Sprite < Sprite
  def initialize(viewport, map_object)
    super(viewport)
    @object = map_object
    update
  end
  def update
    super
    if @graphic_name != @object.graphic
      @graphic_name = @object.graphic
    @tilestx = @object.tilestx
    @tilesety = @object.tilesety
    @tilebright = @object.tilebright
    @tilelength = @object.tilelength
    self.opacity = @object.opacity
    self.angle = @object.angle
#    self.hue = @object.hue
 
      if @graphic_name != ""
#        self.bitmap = RPG::Cache.picture(@graphic_name)
#      elsif
 
        self.bitmap = RPG::Cache.tileset( @graphic_name )
        self.src_rect.set( @tilestx, @tilesety, @tilebright, @tilelength)
 
      else
        self.bitmap = nil
      end
    end
 
    map_x = @object.map_x
    map_y = @object.map_y
    map_z = @object.priority
    middlebright = @tilebright / 2
 
    if @object.anchor == :top_left
      self.x = (map_x * 128 - $game_map.display_x + 3) / 4 # schwarze magie
      self.y = (map_y * 128 - $game_map.display_y + 3) / 4 # schwarze magie    
    elsif @object.anchor == :bottom_left
      self.x = ((map_x * 128 - $game_map.display_x + 3) / 4)  # schwarze magie
      self.y = ((map_y * 128 - $game_map.display_y + 3) / 4) -@tilelength + 32 # schwarze magie    
      self.ox = self.src_rect.width / 2
      self.oy = self.src_rect.height
    elsif @object.anchor == :bottom_middle
      self.x = ((map_x * 128 - $game_map.display_x + 3) / 4) -middlebright # schwarze magie
      self.y = ((map_y * 128 - $game_map.display_y + 3) / 4) -@tilelength # schwarze magie    
    end
 
 
 if map_z == 0
     self.z = self.y + 16 
 elsif map_z == 1
    self.z = self.y + 16 +32
  elsif map_z == 2
    self.z = self.y + 16 +64
  elsif map_z == 3
    self.z = self.y + 16 +96
  elsif map_z == 4
    self.z = self.y + 16 +128
  elsif map_z == 5
    self.z = self.y + 16 +160
end
 
 
 
  end
end
 
 
## Teil 4
class Spriteset_Map
  alias_method( :aliased_initialize_method, :initialize )
  alias_method( :aliased_update_method, :update )
  alias_method( :aliased_dispose_method, :dispose )
 
  def initialize
    @map_object_sprites = []
    aliased_initialize_method
   if $game_switches[1] == true  
    for i in 0...$game_map.static_object.length
      sprite = Object_Sprite.new(@viewport1, $game_map.static_object[i])
      @map_object_sprites.push(sprite)
    end
   end  
  end
 
  def dispose
    for sprite in @map_object_sprites
      sprite.dispose
    end
    aliased_dispose_method
  end
 
  def update
    aliased_update_method
    for sprite in @map_object_sprites
      sprite.update
    end
  end
 
end
highlight to read

...langsam muss ich dringen da drin aufräumen XD
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Irrlicht

Leuchtendes Irgendwas

Motto: Keep shining!

  • Send private message

39

Saturday, August 10th 2019, 2:58pm

Ansich müsstest du gar nicht so viel ändern, wenn du ox bzw. oy erhöhst verschiebt sich dein Bild nach oben-links, d.h. deine alten x und y - Koordinaten sind nun entsprechend etwas zu klein:
Attachment 24168
Um x/y zu korrigieren reicht eigentlich deine Sprite-Update-Methode vollkommen aus, da du dort ja ohnehin schon die Position deiner Sprites anpasst.

Aus

Ruby Source code

1
self.y = ((map_y * 128 - $game_map.display_y + 3) / 4) -@tilelength + 32

würde dann zum Beispiel

Ruby Source code

1
2
3
4
5
6
self.oy = self.rect.height
self.y = ((map_y * 128 - $game_map.display_y + 3) / 4) -@tilelength + 32 + self.rect.height
 
#Alternativ
#  self.y = ((map_y * 128 - $game_map.display_y + 3) / 4) - 32
#da  @tilelength  und  self.rect.height  hier den gleichen Wert haben


Habe grad fürchte ich etwas die Übersicht über alle Versionen verloren, editiere den Post hier ggf. nachher nochmal. :)

Josey

Storyteller

  • "Josey" started this thread

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Send private message

40

Saturday, August 10th 2019, 3:52pm

YES, es funktioniert! :D
Ich glaub, ich hab verstanden, wie es geht. Merk ich aber erst beim nächsten mal XD°

Hier der aktuelle Code, jetzt mal soweit ich kann aufgeräumt:
Spoiler

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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
#==============================================================================
# ** Static Object
#------------------------------------------------------------------------------
#  Ein Sprite, der an einer Stelle einer bestimmten Map geladen wird (kann ein 
#  Tileset-Tile sein oder ein Picture) und dort verbleibt und manipuliert (angle,
#  hue, opacity) werden kann
#==============================================================================
 
 
#==============================================================================
# ** Map_Objekt
#==============================================================================
class Map_Object
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_reader :map_x
  attr_reader :map_y
  attr_reader :anchor
  attr_reader :priority
  attr_reader :graphic
  attr_reader :opacity
  attr_reader :angle
  attr_reader :hue
  attr_reader :tilestx
  attr_reader :tilesety
  attr_reader :tilewidth
  attr_reader :tileheight
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    @map_x = 0
    @map_y = 0
    @anchor = :top_left
    @priority = 0
    @opacity = 255
    @angle = 0
    @hue = 0
    @graphic = ""
    @tilestx = 0 
    @tilesety = 0 
    @tilewidth = 0
    @tileheight = 0
  end  
  #--------------------------------------------------------------------------
  # * Setup Picture
  # 
  #   mapx = Starttile des Bildes X
  #   mapy = Starttile des Bildes Y
  #   anchor = Startpunkt des Bildes (oben links, unten links)
  #   piority = Priority des Bildes (1-5, je nach Tilehöhe)
  #--------------------------------------------------------------------------
  def setup_pic( mapx, mapy, anchor, priority )
    @map_x = mapx
    @map_y = mapy
    @anchor = anchor
    @priority = priority
  end
  #--------------------------------------------------------------------------
  # * Setup Tileset
  # 
  #   mapx = Starttile des Bildes X
  #   mapy = Starttile des Bildes Y
  #   anchor = Startpunkt des Bildes (oben links, unten links)
  #   piority = Priority des Bildes (1-5, je nach Tilehöhe)
  #   tilesetx = Startpunkt des Ausschnitts im Tileset x (Pixel)
  #   tilesety = Startpunkt des Ausschnitts im Tileset y (Pixel)
  #   tilewidth = Wieviele Pixel breit
  #   tileheight = Wieviele Pixel hoch
  #--------------------------------------------------------------------------
  def setup_til( mapx, mapy, anchor, priority, tilestx, tilesety, tilewidth, tileheight )
    @map_x = mapx
    @map_y = mapy
    @anchor = anchor
    @priority = priority
    @tilestx = tilestx
    @tilesety = tilesety
    @tilewidth = tilewidth
    @tileheight = tileheight
  end
  #--------------------------------------------------------------------------
  # * Set Graphic
  #
  #     name           :Name der Grafik (Tileset oder Picture)
  #--------------------------------------------------------------------------
  def set_graphic( name )
    @graphic = name
  end
end
 
#==============================================================================
# ** Game_Map
#==============================================================================
class Game_Map
  #--------------------------------------------------------------------------
  # * Static_Object
  #--------------------------------------------------------------------------
  def static_object
    # wenn beim ersten Aufruf von $game_map.static_object der Array noch nicht
    # mit Werten gefüllt ist, fülle ihn erst mit Start-Werten auf
    if @static_object == nil
      @static_object = []
      for i in 0..49
        @static_object[i] = Map_Object.new()
      end
    end
    # gib den Array zurück
    return @static_object 
  end
 
# -> Sinnvoller zu löschen und jedes Mal neu zu erstellen oder sinnvoller
# im Spriteset_Map nur auf der bestimmten Map zu initializen?
 
#  alias_method(:aliased_setup_method, :setup )
#  def setup(map_id)
#    @static_object = nil
#    aliased_setup_method(map_id)
#  end  
 
end
 
 
#==============================================================================
# ** Object_Sprite
#==============================================================================
class Object_Sprite < Sprite
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize(viewport, map_object)
    super(viewport)
    @object = map_object
    update
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    if @graphic_name != @object.graphic
       @graphic_name = @object.graphic
       @tilestx = @object.tilestx
       @tilesety = @object.tilesety
       @tilewidth = @object.tilewidth
       @tileheight = @object.tileheight
       self.opacity = @object.opacity
       self.angle = @object.angle
 
    # Je nachdem welches Setup gewählt wurde (muss ich noch überlegen, wie ich das abfrage)
      if @graphic_name != ""
#        if 
#          self.bitmap = RPG::Cache.picture(@graphic_name)
#        elsif
          self.bitmap = RPG::Cache.tileset( @graphic_name )
          self.src_rect.set( @tilestx, @tilesety, @tilewidth, @tileheight)
#        end
      else
        self.bitmap = nil
      end
    end
 
    # Je nachdem welcher anchor gewählt wurde
    map_x = @object.map_x
    map_y = @object.map_y
    map_z = @object.priority
    middlewidth = @tilewidth / 2
 
    if @object.anchor == :top_left
      self.x = (map_x * 128 - $game_map.display_x + 3) / 4 
      self.y = (map_y * 128 - $game_map.display_y + 3) / 4     
    elsif @object.anchor == :bottom_left
      self.ox = self.src_rect.width / 2
      self.x = ((map_x * 128 - $game_map.display_x + 3) / 4) + middlewidth 
      self.oy = self.src_rect.height
      self.y = ((map_y * 128 - $game_map.display_y + 3) / 4) -@tileheight + 32 + self.src_rect.height
    end
 
    # Je nachdem welche Priority gewählt wurde
    if map_z == 0
      self.z = self.y + 16 
    elsif map_z == 1
      self.z = self.y + 16 +32
    elsif map_z == 2
      self.z = self.y + 16 +64
    elsif map_z == 3
      self.z = self.y + 16 +96
    elsif map_z == 4
      self.z = self.y + 16 +128
    elsif map_z == 5
      self.z = self.y + 16 +160
    end
 
  end #def
end
 
#==============================================================================
# ** Spriteset_Map
#==============================================================================
class Spriteset_Map
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  alias_method( :aliased_initialize_method, :initialize )
  alias_method( :aliased_update_method, :update )
  alias_method( :aliased_dispose_method, :dispose )
 
  def initialize
    @map_object_sprites = []
    aliased_initialize_method
   if $game_switches[1] == true  
    for i in 0...$game_map.static_object.length
      sprite = Object_Sprite.new(@viewport1, $game_map.static_object[i])
      @map_object_sprites.push(sprite)
    end
   end  
  end
  #--------------------------------------------------------------------------
  # * Dispose
  #-------------------------------------------------------------------------- 
  def dispose
    for sprite in @map_object_sprites
      sprite.dispose
    end
    aliased_dispose_method
  end
  #--------------------------------------------------------------------------
  # * Update
  #--------------------------------------------------------------------------
  def update
    aliased_update_method
    for sprite in @map_object_sprites
      sprite.update
    end
  end
end
highlight to read

Fragen dazu:
1.) Was ist besser, Playms Methode die Sprites zu löschen (und dann müsste ich sie beim Betreten der Map neu aufrufen) oder meine Methode das initialize in eine Bedingung zu packen (vlt mach ich als Bedingung auch die Map_ID, dann kann nix schiefgehen)
2.) Wie kann ich opacity und angle im laufenden Spiel ändern? Durch ein Interprter-Script? Oder anders? Die Werte liegen Standartmäßig auf 255 und 0.
3.) Gibt es zufällig eine bessere Lösung, dem Spiel zu sagen, dass der Spieler gerade den "Sprite betritt", als indem ich die Koordinaten in Game_Variablen speichere?
4.) Ist es möglich, das tilt-Script von Playm auf Sprites umzuschreiben?


Danke!
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Social bookmarks