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
Provided by Weboo!
Reprise du message précédent:
forêtnor -
posté le 30/06/2009 à 21:57:54 (4552 messages postés)
| 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)
| | Les toits sont bizarres mais c'est diablement cool 
|
Zeus81 -
posté le 30/06/2009 à 22:33:02 (11071 messages postés)
| | 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)
| Ô ! | 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 (3678 messages postés)
-  | 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 
|
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)
| 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).
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
1
| @ombre_f = Ombre_f.new($viewport1) |
Dans initialize
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
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
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 :
1
| $light1 = Light.new(1, 1, 1) |
Dans l'update :
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 :
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 (3678 messages postés)
-  | 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 :
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)
| Ô ! | A part ça, très jolie screen immudelki (c'est vrai que tu méritais amplement le titre du screen de la semaine )
|
forêtnor -
posté le 01/07/2009 à 13:01:40 (4552 messages postés)
| 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
Sinon oui il manque des end et l'image. J'edit avec tout ça.
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 (3678 messages postés)
-  | 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)
| Jonas, en bonnet du forme. | Déjà dans light
Tu ajoutes
et tu changes
1
2
3
4
5
| def initialize (id, angle, opacity)
@id = id
@angle = angle
@opacity = opacity |
par
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
1
2
3
| self.angle = $light1.angle
self.opacity = $light1.opacity
self.zoom_x = $light1.zoom |
par
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
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 
|
Une magie que la majorité des habitants de Ghrorlok. |
immudelki -
posté le 01/07/2009 à 16:37:10 (3678 messages postés)
-  | Xnivurognien souriant | Bein ça n'a rien arranger, même bug 
|
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)
| Jonas, en bonnet du forme. | C'était l'event qui boudait
1
2
3
4
5
| if $light1 != nil and $ombre1 != nil
$light1.angle =
$light1.opacity =
$light1.zoom =
end |
Et au début de ombre
1
2
3
| attr_accessor :opacity
attr_accessor :angle
attr_accessor :zoom_x |
Et dans spriteset map
Tu changes les
par
.

|
Une magie que la majorité des habitants de Ghrorlok. |
immudelki -
posté le 01/07/2009 à 18:36:17 (3678 messages postés)
-  | 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)
| Jonas, en bonnet du forme. | Citation:
Oui.
Sinon revérifie avec [ctr + f] si tu as bien changé tous les @viewport1.
Et en fait il faut suprimer le
1
2
3
| attr_accessor :opacity
attr_accessor :angle
attr_accessor :zoom_x |
au début de ombre
Chez moi ça marche nikel (même si je préfère largement les ombres dynamiques )
|
Une magie que la majorité des habitants de Ghrorlok. |
immudelki -
posté le 01/07/2009 à 18:47:46 (3678 messages postés)
-  | 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 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...
(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)
| Jonas, en bonnet du forme. | Si tu veux donner un aspect délabré c'est réussi ^^
Bon dernière tentative je te recopie le tout corrigé et fonctionnel :
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 |
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 |
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 :
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 (3678 messages postés)
-  | Xnivurognien souriant | Alors ça marche 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 : 
|
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)
| 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 (3678 messages postés)
-  | 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)
| 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 (3678 messages postés)
-  | 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)
| Jonas, en bonnet du forme. |
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
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 (3678 messages postés)
-  | 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
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)
| 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 (3678 messages postés)
-  | 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 28Index du forum > Vos créations > Projets, maps et screenshots


|