Lysop

Schlitzohr

  • »Lysop« ist der Autor dieses Themas

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

  • Nachricht senden

1

Samstag, 8. Dezember 2012, 12:06

Beben und färben

Hallo,

ich brauche unbedingt für das unten stehende Script eine Funktion für das Beben und Färben des Pictures.
Vermutlich müsste die Funktion für das Beben so aussehen:

Quellcode

1
2
3
def update
     @fpm.tone = $game_map.screen.tone
     @fpm_viewport.ox = $game_map.screen.shake


Und die Färbung müsste irgendetwas mit self.z zu tun haben, aber welchen Wert muss man dafür einsetzen?
Egal wann und wie der Screen gefärbt wird, soll auch das Picture auf dieselbe Weise gefärbt werden.

Kann mir da jemand weiterhelfen? Das wäre super!

Spoiler

Quellcode

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
#==============================================================================
#    Fix Pictures to Map
#    Version: 1.1
#    Author: modern algebra (rmrk.net)
#    Date: August 10, 2010
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Description:
#
#    This allows you to set the position of a picture by the X and Y position
#   of the map, rather than the screen, so that the picture won't move with you
#   when the screen scrolls. It also has a couple other features, such as 
#   allowing you to set the Z value to show below characters, or below the 
#   tiles to add another parallax (kind of).
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Instructions:
#
#    Paste this script into its own slot above Main and below Materials in the
#   Script Editor (F11).
#
#    This switch is run by two switches and one variable that you specify. 
#   They are:
#      FPM_SWITCH - This switch toggles the fix pictures feature. When this 
#          switch is ON and a picture is shown, then that picture will be fixed
#          to the map coordinates you specify, not to the screen. This means 
#          that if the screen scrolls, the picture will not scroll with it. It
#          is useful if you want to use a picture as an additional map layer, 
#          or as a parallax. Note that this still sets it to pixels, so if you
#          want a picture to show up at the map coordinates 1, 2, you would set 
#          it to 32, 64. To specify which switch should be used to control this 
#          feature, go to line 46 and change the value to the ID of the switch 
#          you want to use to control this feature.
#      FPM_Z_VARIABLE - This allows you to set the priority of the picture. 
#          When showing a picture, the value of this variable will determine the 
#          z value of the picture. When the variable with this ID is set to 0, 
#          the pictures are shown at their normal z value. Setting this 
#          variable to 1 will place it below characters but above non-star 
#          tiles. Setting this variable to 2 will draw the picture above all 
#          tiles and characters except for "Above Characters" Events. Setting 
#          it to 3 will put it below all tiles and characters but above the 
#          parallax. Setting it to 4 will put it below everything, including 
#          the parallax. Setting it to any other value directly sets the z of
#          that sprite to that value. To specify which variable controls this 
#          feature, go to line 47 and set FPM_Z_VARIABLE to the ID of the 
#          variable you want to use.
#==============================================================================
FPM_SWITCH = 18        # See line 22
FPM_Z_VARIABLE = 10    # See line 32
#==============================================================================
# ** Game_Picture
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    attr_reader - map_locked
#    aliased method - initialize, show
#==============================================================================
 
class Game_Picture
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Public Instance Variables
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  attr_reader :map_locked
  attr_reader :fpm_z
  attr_reader :fpm_vp
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Object Initialization
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias malg_fixpicmp_initz_6yh3 initialize
  def initialize (*args)
    @map_locked = false
    @fpm_vp = false
    malg_fixpicmp_initz_6yh3 (*args) # Run Original Method
    @fpm_z = 100 + self.number
  end
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Show Picture
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias ma_fxpm_showpic_2dx4 show
  def show (*args)
    ma_fxpm_showpic_2dx4 (*args) # Run Original Method
    @map_locked = $game_switches[FPM_SWITCH] 
    @fpm_vp = ($game_variables[FPM_Z_VARIABLE] != 0 && $game_variables[FPM_Z_VARIABLE] <= 300)
    @fpm_z = case $game_variables[FPM_Z_VARIABLE]
    when 0 then 100 + self.number
    when 1 then 0
    when 2 then 199
    when 3 then -50
    when 4 then -150
    else
      @fpm_z = $game_variables[FPM_Z_VARIABLE]
    end
  end
end
 
#==============================================================================
# ** Sprite_Picture
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    new attr_accessor - fpm_vp1, fpm_vp2
#    aliased method - update
#==============================================================================
 
class Sprite_Picture
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Public Instance Variables
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  attr_accessor :fpm_vp1
  attr_accessor :fpm_vp2
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Frame Update
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias ma_fpm_updt_oxoy_5tb3 update
  def update (*args)
    pic_name = @picture_name
    ma_fpm_updt_oxoy_5tb3 (*args) # Run Original Method
    if pic_name != @picture_name
      self.viewport = @picture.fpm_vp ? @fpm_vp1 : @fpm_vp2
      @picture_name = pic_name if self.viewport.nil?
      self.ox, self.oy = 0, 0 # Reset OX and OY for new picture
    end
    # Update X position if the picture is fixed to map coordinates
    if @picture.map_locked
      self.ox, self.oy = $game_map.display_x / 8, $game_map.display_y / 8
 
    end
    self.z = @picture.fpm_z
  end
end
 
#==============================================================================
# ** Spriteset_Map
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    aliased method - create_pictures
#==============================================================================
 
class Spriteset_Map
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  # * Create Pictures
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  alias malg_fxpix_crtpi_5oq1 create_pictures
  def create_pictures (*args)
    malg_fxpix_crtpi_5oq1 (*args) # Run Original Method
    @picture_sprites.each { |sprite| sprite.fpm_vp1, sprite.fpm_vp2 = @viewport1, @viewport2 }
  end
end
zum Lesen den Text mit der Maus markieren


Hier ist noch eine Demo mit allem was man so braucht:
DOWNLOAD
  • :cake: So lasset uns beginnen! :new:

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

    Bild
  • :new: Avatar im Großformat

    Bild

FlipelyFlip

unregistriert

2

Samstag, 8. Dezember 2012, 16:50

tint picture is ja schon von haus aus dabei, zwei oder 3 befehle unter Show Picture und ne Shake funktion fürn Picture zu machen brauchts auch nich, weil du per Move Picture das selbe ergebnis erreichen kannst.

lg flipy

Lysop

Schlitzohr

  • »Lysop« ist der Autor dieses Themas

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

  • Nachricht senden

3

Montag, 10. Dezember 2012, 21:24

Okay, stimmt, mit Move Picture geht das. Das blöde ist nur, dass man es für jeden Shake (der verschieden ist) neu einstellen muss.

Die Sache mit dem Tint Picture wird kompliziert, wenn man mehrere Pictures und Kartenwechsel hat (durch Tag/Nacht-Script).
  • :cake: So lasset uns beginnen! :new:

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

    Bild
  • :new: Avatar im Großformat

    Bild

FlipelyFlip

unregistriert

4

Dienstag, 11. Dezember 2012, 00:15

bezüglich des tint pictures, müsstest du das dann mitm Tag Nacht Script abstimmen, ich weiß ja nicht welches du nutzt.
wenns zB. variablen nutzt, dann kannst du ja einfach nen paralleles common event nutzen und bezüglich den Pictures wirst du doch ne bestimmte Anzahl haben. dann mach für dich einen bestimmten Bereich der angezeigten Bilder aus (zB. alle Bilder 1 bis 5 oder alle bilder von 15 bis 20 usw.) werden so verwendet. du hast da viele Möglichkeiten, du solltest nur mal versuchen weiter zu denken, als nur für dies und jenes ein script zu benötigen und dich abhängig von andren machen ._.

Lysop

Schlitzohr

  • »Lysop« ist der Autor dieses Themas

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

  • Nachricht senden

5

Dienstag, 11. Dezember 2012, 18:18

Ich werde mal gucken, ob ich vlt. auf CEs umsteige, aber danke für den Tipp mit dem Beben! ;) Es dauert zwar, bis man es eingestellt hat und ist umständlich, aber es hilft! :D

Edit:

Okay, habe es jetzt geschafft, es im Script zu lösen. Es war kinderleicht.
  • :cake: So lasset uns beginnen! :new:

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

    Bild
  • :new: Avatar im Großformat

    Bild

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Gjorsch« (16. Dezember 2012, 11:01)


Social Bookmarks