Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

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

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Packs de ressources: Monstres des RTP / Jeux: Projet-Z / Packs de ressources: Tilesets médiévaux (...) / News: Et le grand gagnant est... (...) / Scripts: Texte ondulant et texte (...) / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

24 connectés actuellement

26592042 visiteurs
depuis l'ouverture

940 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Hellsoft

Planète Glutko

Tashiroworld

RPG Maker Détente

Lumen

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Vos créations > Projets, maps et screenshots

Aller à la page 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

Reprise du message précédent:

forêtnor - posté le 30/06/2009 à 21:57:54 (4552 messages postés)

❤ 0

Jonas, en bonnet du forme.

Si tu l'utilise en tant que soleil tu n'as pas besoin non plus de changer dynamiquement l'orientation. Vu qu'à un moment de la journée quelle que soit ta position ton ombre ira dans la même direction. En revanche, si tu me dis la manière dont tu gère la temps dans ton jeu je peux modifier certains paramètres en fonction de l'heure (allongement et direction).

Une magie que la majorité des habitants de Ghrorlok.


Suite du sujet:

Kon - posté le 30/06/2009 à 22:26:01 (3982 messages postés)

❤ 0

Les toits sont bizarres mais c'est diablement cool :p


Zeus81 - posté le 30/06/2009 à 22:33:02 (11071 messages postés)

❤ 0

Moi je suis assez partagé, entre cette version cell-shadé et l'autre.
Je préfère peut être l'autre.


The Fifth - posté le 30/06/2009 à 22:37:03 (147 messages postés)

❤ 0

Ô !

L'originale est mieux. L'effet pourrait être mieux avec un autre style de map.
Ici, les toits sont assez zarb' : avec un effet ça fait... heu... plat. x)


immudelki - posté le 01/07/2009 à 00:11:54 (3583 messages postés) - staff

❤ 0

Xnivurognien souriant

Bien sûr ne soyez pas inquiet hein, c'est pour le trip, ce n'est pas voué à être utilisé dans le jeu, au pire pour une séquence spéciale (avec le personnage dans un rêve pas exemple ce serait intéressant à étudier)

forêtnor--> en effet pas besoin de changer dynamiquement l'orientation. en fait vue que l'effet ne sera utilisé que pour le soleil (même pas quand y'a plusieurs lampes dans le noir,je m'en fout là) et de façon très discrète, la config devrait être relativement simple : je pense faire changer le temps de manière scriptée, il ne faudra pas d'attendre sur la map, je pense mettre une incrémentation de variable à chaque changement de map, et à deux extrêmes de cette variable, il y aura l'ombre de nuit et l'ombre de jour.

En fait il faut que je puisse choisir sur le character :
_la direction de l'ombre (non dynamique),
_son opacité (non dynamique)-->en fonction de l'heure, je m'en occupe bien sur)
_éventuellement la possibilité d'utiliser le scripts sur d'autres évènements présents sur la map.

Voili voilou :irate

Mein Topic sur Oniro/Mein site pro/Mein Tumblr/Mein jeu Code Lyoko développé h24 7/7 - "Donnez des oeufs au peuple, il fera des oeufs brouillés" Réu Oniro 12/01/2022


forêtnor - posté le 01/07/2009 à 00:53:33 (4552 messages postés)

❤ 0

Jonas, en bonnet du forme.

Bon déjà pour l'ombre fixe en dessous du perso tu as ça.
(C'est pas l'ombre portée c'est juste l'ombre sous les pieds du perso).

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 class Ombre_f < Sprite
  
  def initialize (viewport)
    super(viewport)
    self.bitmap = RPG::Cache.picture("ombre F")
    $PI=Math.atan((1.0)*(4.0))
    self.ox = self.bitmap.width / 2
    self.oy = self.bitmap.height / 2
    update
  end
  
  
  def update
    super
    
    if $game_map.width*32 > 640
      if ($game_player.real_x / 4 + 16) < 320
        self.x = ($game_player.real_x / 4 + 16)
      else
        if ($game_player.real_x / 4 + 16) < ($game_map.width*32 - 320)
          self.x = 320
        else
          self.x = ($game_player.real_x / 4 + 16) - 160
        end
      end
    else
      self.x = ($game_player.real_x / 4 + 16)
    end
      
      if $game_map.height*32 > 480
        if ($game_player.real_y / 4 + 16 ) < 240
          self.y = ($game_player.real_y / 4 + 25)
          else
            if ($game_player.real_y / 4 + 16) < ($game_map.height*32 - 240 )
              self.y = 250
              else
              self.y = ($game_player.real_y / 4 +25) - 480 
            end
          end
        else
          self.y = ($game_player.real_y / 4 + 25)
        end
        
    self.opacity = 75
  end
  
end
 


+ Dans Spriteset_Map

Portion de code : Tout sélectionner

1
@ombre_f = Ombre_f.new($viewport1)


Dans initialize

Portion de code : Tout sélectionner

1
@ombre_f.update



Tu mets cette image dans le dossier pictures de ton projet et tu l'appelles "ombre F".
Oui c'est du bidouillage dégueulasse mais au moins ça marche même si la map est plus grande que l'écran :)

Ah oui autre chose : je te conseil d'utiliser le script de mouvement pixel par pixel de zeus sinon ça fait saccadé et un peu laid.
Dans update.


____________________________________ EDIT

Voilà le reste

D'abord tu as ça

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
=======================================================================
# 
# ■ Lumières dynamiques
# -------------------------------------------------------------------------------------------------------------------------------
# Par Forêtnor (Oniromancie)
# =======================================================================
class Light
  
  attr_accessor :id
  attr_accessor :angle
  attr_accessor :opacity
-------------------------------------------------------------------------------------------------------------------------------
  # 
  # ● Initialize
  # -------------------------------------------------------------------------------------------------------------------------------
  def initialize (id, angle, opacity)
    
    @id = id
    @angle = angle
    @opacity = opacity
    
    if @id == 1
      $ombre1 = Ombre.new ($viewport1, 1)
    end    
  end
      
-------------------------------------------------------------------------------------------------------------------------------
  # 
  # ● Update
  # -------------------------------------------------------------------------------------------------------------------------------
  def update
    
    if @id == 1 
      if $ombre1 != nil and $light1 !=nil
      $ombre1.update
      else
      $ombre1.dispose
      end
    end  
  end
  
  
end



Puis ça

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
=======================================================================
# 
# ■ Ombres Dynamiques
# -------------------------------------------------------------------------------------------------------------------------------
# Par Forêtnor (Oniromancie)
# =======================================================================
class Ombre < Sprite
  
  attr_reader :id
  
 -------------------------------------------------------------------------------------------------------------------------------
  #
  # ● Initialize
  # -------------------------------------------------------------------------------------------------------------------------------
  def initialize(viewport, id)
    super(viewport)
    $PI=Math.atan((1.0)*(4.0))
    @id = id
    update
  end
  
-------------------------------------------------------------------------------------------------------------------------------
  # 
  # ● Update
  # -------------------------------------------------------------------------------------------------------------------------------
  def update
    super
    
    #
    # ID = any
    #
    self.bitmap = RPG::Cache.picture("ombre")
    self.ox = self.bitmap.width / 2
    self.oy = self.bitmap.height / 2
          # Définition de l'abscisse du sprite
      if $game_map.width*32 > 640
          if ($game_player.real_x / 4 + 16) < 320
              self.x = ($game_player.real_x / 4 + 16)
          else
              if ($game_player.real_x / 4 + 16) < ($game_map.width*32 - 320)
                self.x = 320
              else
                self.x = ($game_player.real_x / 4 + 16) - 160
              end
            end
        else
          self.x = ($game_player.real_x / 4 + 16)
      end
      # Définition de l'ordonnée du sprite  
      if $game_map.height*32 > 480
        if ($game_player.real_y / 4 + 16 ) < 240
          self.y = ($game_player.real_y / 4 + 32)
          else
            if ($game_player.real_y / 4 + 16) < ($game_map.height*32 - 240 )
              self.y = 256
              else
              self.y = ($game_player.real_y / 4 +32) - 480 
            end
          end
        else
          self.y = ($game_player.real_y / 4 + 32)
        end
  self.angle = $light1.angle
  self.opacity = $light1.opacity



Et toujours dans spriteset_map
Dans l'init :

Portion de code : Tout sélectionner

1
 $light1 = Light.new(1, 1, 1)


Dans l'update :

Portion de code : Tout sélectionner

1
2
3
 if $light1 != nil
    $light1.update
  end



Et pour gérer ton soleil sur chaque map tu fais un event en process parallèle :

Portion de code : Tout sélectionner

1
2
3
<> script :
$light1.angle = ce que tu veux
$light1.opacity = ce que tu veux




NB : J'ai enlever la majorité de mon script et j'ai changer pas mal de choses et tout ça directement dans la fenêtre de message d'oniro.
Le code n'est surement pas exempt de bug donc :)

Une magie que la majorité des habitants de Ghrorlok.


immudelki - posté le 01/07/2009 à 01:31:45 (3583 messages postés) - staff

❤ 0

Xnivurognien souriant

Alors je viens de tester le script de l'ombre en dessous du héros, le problème : elle suit l'écran lors de la commande "déplaçer l'écran", deplus elle bug lorsque je m'approche de la map et se barre loin :
image
Mais ce n'est pas grave, c'est pas le premier script qui m'intéresse le plus, je ne suis pas sur de l'utiliser vu qu'il faudrait en plus des ombres de taille différente pour chaque perso et je peut déjà le faire en sprites;)

Note : Attention, tu as oublier des " #" (je les ai corriger dans ma copie du code)

Second script : Il bug à la dernière ligne d'Ombres Dynamiques directement en allumant le jeu, il dit simplement qu'il y a erreur de syntaxe ( a savoir ici : self.opacity = $light1.opacity)
J'ai rajouter deux "end" et ça a l'air de marcher, mais quelle est l'image "ombre" que je dois utiliser? (a moins qu'elle ne soit simplement créer avec le script mais il me la demande donc bon...)
Note : en utilisant la même image que le 1er script et en la renommant, ça m'affiche un autre bug à l'avant dernière ligne (self.angle = $light1.angle)
Bref en clair les deux dernières lignes (avant les end nouvellement mis) semblent être une cause de problèmes...

Mein Topic sur Oniro/Mein site pro/Mein Tumblr/Mein jeu Code Lyoko développé h24 7/7 - "Donnez des oeufs au peuple, il fera des oeufs brouillés" Réu Oniro 12/01/2022


The Fifth - posté le 01/07/2009 à 07:56:10 (147 messages postés)

❤ 0

Ô !

A part ça, très jolie screen immudelki :D (c'est vrai que tu méritais amplement le titre du screen de la semaine 8-))


forêtnor - posté le 01/07/2009 à 13:01:40 (4552 messages postés)

❤ 0

Jonas, en bonnet du forme.

Citation:

deplus elle bug lorsque je m'approche de la map et se barre loin :


En ben justement j'avais tout arrangé pour que ça ne le fasse pas :s


Sinon oui il manque des end et l'image. J'edit avec tout ça.

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
    # ID = any
    #
    self.bitmap = RPG::Cache.picture("ombre")
    self.ox = self.bitmap.width / 2
    self.oy = self.bitmap.height / 2
          # Définition de l'abscisse du sprite
      if $game_map.width*32 > 640
          if ($game_player.real_x / 4 + 16) < 320
              self.x = ($game_player.real_x / 4 + 16)
          else
              if ($game_player.real_x / 4 + 16) < ($game_map.width*32 - 320)
                self.x = 320
              else
                self.x = ($game_player.real_x / 4 + 16) - 160
              end
            end
        else
          self.x = ($game_player.real_x / 4 + 16)
      end
      # Définition de l'ordonnée du sprite  
      if $game_map.height*32 > 480
        if ($game_player.real_y / 4 + 16 ) < 240
          self.y = ($game_player.real_y / 4 + 32)
          else
            if ($game_player.real_y / 4 + 16) < ($game_map.height*32 - 240 )
              self.y = 256
              else
              self.y = ($game_player.real_y / 4 +32) - 480 
            end
          end
        else
          self.y = ($game_player.real_y / 4 + 32)
        end
      # Définition de l'opacité, l'angle et l'allongement.
      self.angle = $light1.angle
      self.opacity = $light1.opacity
      self.zoom_x = $light1.zoom
  end # fin methode update 
 
  # -------------------------------------------------------------------------------------------------------------------------------
  # ● Dispose
  # -------------------------------------------------------------------------------------------------------------------------------
  def dispose
    super
    if @id == 1 and $ombre1 != nil
      $ombre1 = nil
    end
  end
  
end #fin
 



http://img514.imageshack.us/img514/5366/ombre2.png Pour l'image : Il faut l'appeler "ombre".

Dans l'event tu dois rajouter une ligne
$light1.zoom = ce que tu veux



L'angle est entre 0 et 360
L'opacité entre 0 et 255
Le zoom entre 0 et l'infinie. (1 ou 100 pour taille normale je crois).

Edit : c'est vraiment bizare que le script ombre fixe ne marche pas je viens de le retester sur plusieurs map et il fonctionne correctement (après pour le "déplacer écran" c'est normal).

Une magie que la majorité des habitants de Ghrorlok.


immudelki - posté le 01/07/2009 à 13:40:03 (3583 messages postés) - staff

❤ 0

Xnivurognien souriant

Il n'arrive pas a identifier/définir "méthod angle=" for:NilClass

Mein Topic sur Oniro/Mein site pro/Mein Tumblr/Mein jeu Code Lyoko développé h24 7/7 - "Donnez des oeufs au peuple, il fera des oeufs brouillés" Réu Oniro 12/01/2022


forêtnor - posté le 01/07/2009 à 15:54:41 (4552 messages postés)

❤ 0

Jonas, en bonnet du forme.

Déjà dans light
Tu ajoutes

Portion de code : Tout sélectionner

1
  attr_accessor :zoom


et tu changes

Portion de code : Tout sélectionner

1
2
3
4
5
def initialize (id, angle, opacity)
    
    @id = id
    @angle = angle
    @opacity = opacity


par

Portion de code : Tout sélectionner

1
2
3
4
5
6
def initialize (id, angle, opacity, zoom)
    
    @id = id
    @angle = angle
    @opacity = opacity
    @zoom = zoom





Ensuite dans ombre tu changes

Portion de code : Tout sélectionner

1
2
3
      self.angle = $light1.angle
      self.opacity = $light1.opacity
      self.zoom_x = $light1.zoom


par

Portion de code : Tout sélectionner

1
2
3
4
5
   if $light1 != nil
      self.angle = $light1.angle
      self.opacity = $light1.opacity
      self.zoom_x = $light1.zoom
   end




On v y arriver XD
J'espère que ça te gènes pas que je fasse ça un peu à l'arrache mais pour une fois qu'on peut s'entraider entre maker :kirby

Une magie que la majorité des habitants de Ghrorlok.


immudelki - posté le 01/07/2009 à 16:37:10 (3583 messages postés) - staff

❤ 0

Xnivurognien souriant

Bein ça n'a rien arranger, même bug :s

Mein Topic sur Oniro/Mein site pro/Mein Tumblr/Mein jeu Code Lyoko développé h24 7/7 - "Donnez des oeufs au peuple, il fera des oeufs brouillés" Réu Oniro 12/01/2022


forêtnor - posté le 01/07/2009 à 17:23:22 (4552 messages postés)

❤ 0

Jonas, en bonnet du forme.

C'était l'event qui boudait :)

Portion de code : Tout sélectionner

1
2
3
4
5
if $light1 != nil and $ombre1 != nil
$light1.angle = 
$light1.opacity = 
$light1.zoom = 
end



Et au début de ombre

Portion de code : Tout sélectionner

1
2
3
  attr_accessor :opacity
  attr_accessor :angle
  attr_accessor :zoom_x



Et dans spriteset map
Tu changes les

Portion de code : Tout sélectionner

1
@viewport1


par

Portion de code : Tout sélectionner

1
$viewport1

.
:kirby

Une magie que la majorité des habitants de Ghrorlok.


immudelki - posté le 01/07/2009 à 18:36:17 (3583 messages postés) - staff

❤ 0

Xnivurognien souriant

Dans spriteset map il fallait également modifier une ligne en ça :
$light1 = Light.new(1, 1, 1, 1)
Alors, le jeu marche sans bug...mais y'a aucune ombre qui s'affiche :'(

(je n'ai pas oublier de mettre un event configuré hein --' )

Mein Topic sur Oniro/Mein site pro/Mein Tumblr/Mein jeu Code Lyoko développé h24 7/7 - "Donnez des oeufs au peuple, il fera des oeufs brouillés" Réu Oniro 12/01/2022


forêtnor - posté le 01/07/2009 à 18:42:06 (4552 messages postés)

❤ 0

Jonas, en bonnet du forme.

Citation:

(1, 1, 1, 1)


Oui.


Sinon revérifie avec [ctr + f] si tu as bien changé tous les @viewport1.

Et en fait il faut suprimer le

Portion de code : Tout sélectionner

1
2
3
  attr_accessor :opacity
  attr_accessor :angle
  attr_accessor :zoom_x


au début de ombre XD
Chez moi ça marche nikel :) (même si je préfère largement les ombres dynamiques :p)

Une magie que la majorité des habitants de Ghrorlok.


immudelki - posté le 01/07/2009 à 18:47:46 (3583 messages postés) - staff

❤ 0

Xnivurognien souriant

J'ai tout vérifier, aucun changement :( (même avec ce que tu as évoqué dans l'edit qui a suivit)


Avec toutes ces histoires, j'oublie de montrer les nouveautés, à savoir une nouvelle texture pour mes toits, elle est zarb, et c'est ce que j'aime chez elle :D Avec plein de nouveaux petits sprites.
La map ne possède toujours pas ses ombres, mais ne m'en voulez pas, ça me démangeait vraiment de faire une news ;)
-notez que le passage à la panoramisation rajoutera des feuilles et permettra de mieux incruster les élements comme la plaque de pierre que vous pouvez voir...

image
(j'ai fait une petite erreur en bas à gauche, elle est corrigée)

Mein Topic sur Oniro/Mein site pro/Mein Tumblr/Mein jeu Code Lyoko développé h24 7/7 - "Donnez des oeufs au peuple, il fera des oeufs brouillés" Réu Oniro 12/01/2022


forêtnor - posté le 01/07/2009 à 18:54:34 (4552 messages postés)

❤ 0

Jonas, en bonnet du forme.

Si tu veux donner un aspect délabré c'est réussi ^^

Bon dernière tentative XD je te recopie le tout corrigé et fonctionnel :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#======================================================================
# Lumières dynamiques
#-----------------------------------------------------------------------------------------------------------------------------
# Par Forêtnor (Oniromancie)
#=====================================================================
class Light
  
  attr_accessor :id
  attr_accessor :angle
  attr_accessor :opacity
  attr_accessor :zoom
 
  def initialize (id, angle, opacity, zoom)
    
    @id = id
    @angle = angle
    @opacity = opacity
    @zoom = zoom
    $ombre1 = Ombre.new ($viewport1, 1)
  end
      
  def update
      if $ombre1 != nil and $light1 !=nil
      $ombre1.update
    end  
  end
end



Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#======================================================================
#  Ombres Dynamiques
#------------------------------------------------------------------------------------------------------------------------------
# Par Forêtnor (Oniromancie)
#======================================================================
class Ombre < Sprite
  
  attr_reader :id
 
  def initialize(viewport, id)
    super(viewport)
    $PI=Math.atan((1.0)*(4.0))
    @id = id
    update
  end
  
  def update
    super
    self.bitmap = RPG::Cache.picture("ombre")
    self.ox = self.bitmap.width / 2
    self.oy = self.bitmap.height / 2
          # Définition de l'abscisse du sprite
      if $game_map.width*32 > 640
          if ($game_player.real_x / 4 + 16) < 320
              self.x = ($game_player.real_x / 4 + 16)
          else
              if ($game_player.real_x / 4 + 16) < ($game_map.width*32 - 320)
                self.x = 320
              else
                self.x = ($game_player.real_x / 4 + 16) - 320
              end
            end
        else
          self.x = ($game_player.real_x / 4 + 16)
      end
      # Définition de l'ordonnée du sprite  
      if $game_map.height*32 > 480
        if ($game_player.real_y / 4 + 16 ) < 240
          self.y = ($game_player.real_y / 4 + 25)
          else
            if ($game_player.real_y / 4 + 16) < ($game_map.height*32 - 240 )
              self.y = 249
              else
              self.y = ($game_player.real_y / 4 +25) - 480 
            end
          end
        else
          self.y = ($game_player.real_y / 4 + 25)
        end
      # Définition de l'opacité, l'angle et l'allongement.
      if $light1 !=nil
      self.angle = $light1.angle
      self.opacity = $light1.opacity
      self.zoom_x = $light1.zoom
      end
  end # fin methode update 
 
  def dispose
    super
    if @id == 1 and $ombre1 != nil
      $ombre1 = nil
    end
  end
  
end #fin


Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
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
 
#==============================================================================
# ■ Spriteset_Map
#------------------------------------------------------------------------------
#==============================================================================
 
class Spriteset_Map
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize
    # ビューポートを作成
    $viewport1 = Viewport.new(0, 0, 640, 480)
    @viewport2 = Viewport.new(0, 0, 640, 480)
    @viewport3 = Viewport.new(0, 0, 640, 480)
    @viewport2.z = 200
    @viewport3.z = 5000
    # タイルマップを作成
    @tilemap = Tilemap.new($viewport1)
    @tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name)
    for i in 0..6
      autotile_name = $game_map.autotile_names[i]
      @tilemap.autotiles[i] = RPG::Cache.autotile(autotile_name)
    end
    @tilemap.map_data = $game_map.data
    @tilemap.priorities = $game_map.priorities
    # パノラマプレーンを作成
    @panorama = Plane.new($viewport1)
    @panorama.z = -1000
    # フォグプレーンを作成
    @fog = Plane.new($viewport1)
    @fog.z = 3000
    # キャラクタースプライトを作成
    @character_sprites = []
    for i in $game_map.events.keys.sort
      sprite = Sprite_Character.new($viewport1, $game_map.events[i])
      @character_sprites.push(sprite)
    end
    @character_sprites.push(Sprite_Character.new($viewport1, $game_player))
    # 天候を作成
    @weather = RPG::Weather.new($viewport1)
    # ピクチャを作成
    @picture_sprites = []
    for i in 1..50
      @picture_sprites.push(Sprite_Picture.new(@viewport2,
        $game_screen.pictures[i]))
    end
    # タイマースプライトを作成
    @timer_sprite = Sprite_Timer.new
    
    $light1 = Light.new(1, 1, 1, 1)
    # フレーム更新
    update
  end
  #--------------------------------------------------------------------------
  # ● 解放
  #--------------------------------------------------------------------------
  def dispose
    # タイルマップを解放
    @tilemap.tileset.dispose
    for i in 0..6
      @tilemap.autotiles[i].dispose
    end
    @tilemap.dispose
    # パノラマプレーンを解放
    @panorama.dispose
    # フォグプレーンを解放
    @fog.dispose
    # キャラクタースプライトを解放
    for sprite in @character_sprites
      sprite.dispose
    end
    # 天候を解放
    @weather.dispose
    # ピクチャを解放
    for sprite in @picture_sprites
      sprite.dispose
    end
    # タイマースプライトを解放
    @timer_sprite.dispose
    # ビューポートを解放
    $viewport1.dispose
    @viewport2.dispose
    @viewport3.dispose
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  def update
    
   if $light1 != nil
    $light1.update
  end
    # パノラマが現在のものと異なる場合
    if @panorama_name != $game_map.panorama_name or
       @panorama_hue != $game_map.panorama_hue
      @panorama_name = $game_map.panorama_name
      @panorama_hue = $game_map.panorama_hue
      if @panorama.bitmap != nil
        @panorama.bitmap.dispose
        @panorama.bitmap = nil
      end
      if @panorama_name != ""
        @panorama.bitmap = RPG::Cache.panorama(@panorama_name, @panorama_hue)
      end
      Graphics.frame_reset
    end
    # フォグが現在のものと異なる場合
    if @fog_name != $game_map.fog_name or @fog_hue != $game_map.fog_hue
      @fog_name = $game_map.fog_name
      @fog_hue = $game_map.fog_hue
      if @fog.bitmap != nil
        @fog.bitmap.dispose
        @fog.bitmap = nil
      end
      if @fog_name != ""
        @fog.bitmap = RPG::Cache.fog(@fog_name, @fog_hue)
      end
      Graphics.frame_reset
    end
    # タイルマップを更新
    @tilemap.ox = $game_map.display_x / 4
    @tilemap.oy = $game_map.display_y / 4
    @tilemap.update
    # パノラマプレーンを更新
    @panorama.ox = $game_map.display_x / 8
    @panorama.oy = $game_map.display_y / 8
    # フォグプレーンを更新
    @fog.zoom_x = $game_map.fog_zoom / 100.0
    @fog.zoom_y = $game_map.fog_zoom / 100.0
    @fog.opacity = $game_map.fog_opacity
    @fog.blend_type = $game_map.fog_blend_type
    @fog.ox = $game_map.display_x / 4 + $game_map.fog_ox
    @fog.oy = $game_map.display_y / 4 + $game_map.fog_oy
    @fog.tone = $game_map.fog_tone
    # キャラクタースプライトを更新
    for sprite in @character_sprites
      sprite.update
    end
    # 天候グラフィックを更新
    @weather.type = $game_screen.weather_type
    @weather.max = $game_screen.weather_max
    @weather.ox = $game_map.display_x / 4
    @weather.oy = $game_map.display_y / 4
    @weather.update
    # ピクチャを更新
    for sprite in @picture_sprites
      sprite.update
    end
    # タイマースプライトを更新
    @timer_sprite.update
    # 画面の色調とシェイク位置を設定
    $viewport1.tone = $game_screen.tone
    $viewport1.ox = $game_screen.shake
    # 画面のフラッシュ色を設定
    @viewport3.color = $game_screen.flash_color
    # ビューポートを更新
    $viewport1.update
    @viewport3.update
  end
end



Event en processus parallèle :

Portion de code : Tout sélectionner

1
2
3
4
5
if $light1 != nil and $ombre1 != nil
$light1.angle = 150
$light1.opacity = 100
$light1.zoom = 0.7
end



Image : http://img514.imageshack.us/img514/5366/ombre2.png Que tu appelles "ombre" dans le dossier picture.

Une magie que la majorité des habitants de Ghrorlok.


immudelki - posté le 01/07/2009 à 19:10:27 (3583 messages postés) - staff

❤ 0

Xnivurognien souriant

Alors ça marche :biere mais : l'ombre bug comme le premier en se barrant au loin QUE quand on va aux limites de la map à droite et en bas.
Et sinon, j'aimerait que l'ombre se situe un peu plus haut (quelques pixels de plus) que parfaitement en dessous du sprite (sachant que dans son graph, il est surelevé exprès par rapport au bas des cases) : illustration : image

Mein Topic sur Oniro/Mein site pro/Mein Tumblr/Mein jeu Code Lyoko développé h24 7/7 - "Donnez des oeufs au peuple, il fera des oeufs brouillés" Réu Oniro 12/01/2022


forêtnor - posté le 01/07/2009 à 19:11:37 (4552 messages postés)

❤ 0

Jonas, en bonnet du forme.

Héhé je m'en doutais ^^ : j'ai édité le script ombre recopie le :^p

Une magie que la majorité des habitants de Ghrorlok.


immudelki - posté le 01/07/2009 à 19:15:21 (3583 messages postés) - staff

❤ 0

Xnivurognien souriant

Heu il reste encore le bug de l'ombre qui se barre, merçi pour l'autre, c'est parfaitement règlé :)

Mein Topic sur Oniro/Mein site pro/Mein Tumblr/Mein jeu Code Lyoko développé h24 7/7 - "Donnez des oeufs au peuple, il fera des oeufs brouillés" Réu Oniro 12/01/2022


forêtnor - posté le 01/07/2009 à 19:17:08 (4552 messages postés)

❤ 0

Jonas, en bonnet du forme.

Oui oui pour l'ombre qui se barre je vais régler ça. En fait j'ai ajusté mes valeurs que pour certaines map. Je te dirais quand cela sera réglé :) En attendant tu peux l'utiliser dans les petits maps où l'écran ne se déplace pas.

Une magie que la majorité des habitants de Ghrorlok.


immudelki - posté le 01/07/2009 à 19:19:20 (3583 messages postés) - staff

❤ 0

Xnivurognien souriant

Et ce serait possible à activer sur des évènements en plus ?

Mein Topic sur Oniro/Mein site pro/Mein Tumblr/Mein jeu Code Lyoko développé h24 7/7 - "Donnez des oeufs au peuple, il fera des oeufs brouillés" Réu Oniro 12/01/2022


forêtnor - posté le 01/07/2009 à 19:49:46 (4552 messages postés)

❤ 0

Jonas, en bonnet du forme.

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
         # Définition de l'abscisse du sprite
      if $game_map.width*32 > 640
          if ($game_player.real_x / 4 + 16) < 320
              self.x = ($game_player.real_x / 4 + 16)
          else
              if ($game_player.real_x / 4 + 16) < ($game_map.width*32 - 320)
                self.x = 320
              else
                self.x = ($game_player.real_x / 4 + 16) - ($game_map.width - 20)*32
              end
            end
        else
          self.x = ($game_player.real_x / 4 + 16)
      end
      # Définition de l'ordonnée du sprite  
      if $game_map.height*32 > 480
        if ($game_player.real_y / 4 + 16 ) < 240
          self.y = ($game_player.real_y / 4 + 25)
          else
            if ($game_player.real_y / 4 + 16) < ($game_map.height*32 - 240 )
              self.y = 249
              else
              self.y = ($game_player.real_y / 4 +25) - ($game_map.height - 15)*32
            end
          end
        else
          self.y = ($game_player.real_y / 4 + 25)
        end
 



It is marching ! (pour toutes les tailles de map)
Je vais voir ça pour les event ^^
Dis moi si tu as besoin d'autre chose ou de nouvelles fonctions :)

Edit : Ah cool du coup l'ombre fixe marche aussi :)

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
class Ombre_f < Sprite
  
  def initialize (viewport)
    super(viewport)
    self.bitmap = RPG::Cache.picture("ombre F")
    $PI=Math.atan((1.0)*(4.0))
    self.ox = self.bitmap.width / 2
    self.oy = self.bitmap.height / 2
    update
  end
  
  
  def update
    super
    
         # Définition de l'abscisse du sprite
      if $game_map.width*32 > 640
          if ($game_player.real_x / 4 + 16) < 320
              self.x = ($game_player.real_x / 4 + 16)
          else
              if ($game_player.real_x / 4 + 16) < ($game_map.width*32 - 320)
                self.x = 320
              else
                self.x = ($game_player.real_x / 4 + 16) - ($game_map.width - 20)*32
              end
            end
        else
          self.x = ($game_player.real_x / 4 + 16)
      end
      # Définition de l'ordonnée du sprite  
      if $game_map.height*32 > 480
        if ($game_player.real_y / 4 + 16 ) < 240
          self.y = ($game_player.real_y / 4 + 25)
          else
            if ($game_player.real_y / 4 + 16) < ($game_map.height*32 - 240 )
              self.y = 249
              else
              self.y = ($game_player.real_y / 4 +25) - ($game_map.height - 15)*32
            end
          end
        else
          self.y = ($game_player.real_y / 4 + 25)
        end
 
        
    self.opacity = 75
  end
  
end


Perso je préfère largement avec l'ombre fixe en plus.

Une magie que la majorité des habitants de Ghrorlok.


immudelki - posté le 01/07/2009 à 20:16:59 (3583 messages postés) - staff

❤ 0

Xnivurognien souriant

Mpf il bouge encore dès que j'utilise la commande "déplacer la map" c'est très gênant vu que je fait pas mal de cut-scènes :s

Merçi encore pour tout ce boulot ;)

Mein Topic sur Oniro/Mein site pro/Mein Tumblr/Mein jeu Code Lyoko développé h24 7/7 - "Donnez des oeufs au peuple, il fera des oeufs brouillés" Réu Oniro 12/01/2022


forêtnor - posté le 01/07/2009 à 20:22:34 (4552 messages postés)

❤ 0

Jonas, en bonnet du forme.

Citation:

Mpf il bouge encore dès que j'utilise la commande "déplacer la map" c'est très gênant vu que je fait pas mal de cut-scènes


l'écran bouge en même temps que le perso ou quand tu bouge l'écran le perso reste fixe ?
Parce que sinon on peut arranger ça avec un interrupteur :)

Une magie que la majorité des habitants de Ghrorlok.


immudelki - posté le 01/07/2009 à 20:24:35 (3583 messages postés) - staff

❤ 0

Xnivurognien souriant

Bein là c'est quand le perso reste fixe mais je pense me retrouver dans le second cas de figure également.

Mein Topic sur Oniro/Mein site pro/Mein Tumblr/Mein jeu Code Lyoko développé h24 7/7 - "Donnez des oeufs au peuple, il fera des oeufs brouillés" Réu Oniro 12/01/2022

Aller à la page 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

Index du forum > Vos créations > Projets, maps et screenshots

repondre up

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

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

Plan du site

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