Bonjour
Avant toute chose je tiens à préciser que je tourne sur l'editeur 1.4.2 ainsi que la dernière maj de solarus, le problème que je rencontre (et dont j'ai un peu de mal a voir) c'est l'overlay, j'ai repris ton script dans tes tuto Chris (de l'overlay qui scroll) mais au bout d'un moment l'image se coupe, bizzarement 1 fois sur 10 lorsqu'on va tout en haut à gauche de la map l'overlay se met a glitch (apparition et disparition)
Vidéo du glitch
https://www.youtube.com/watch?v=SzvLxQLeucA&feature=youtu.be
Le script en question
local map = ...
local game = map:get_game()
map.overlay_angles = {
7 * math.pi / 4
}
map.overlay_step = 1
function map:set_overlay()
map.overlay = sol.surface.create("fogs/overworld_smallcloud.png")
map.overlay:set_opacity(96)
map.overlay_m = sol.movement.create("straight")
map.restart_overlay_movement()
end
function map:restart_overlay_movement()
map.overlay_m:set_speed(16)
map.overlay_m:set_max_distance(100)
map.overlay_m:set_angle(map.overlay_angles[map.overlay_step])
map.overlay_step = map.overlay_step + 1
if map.overlay_step > #map.overlay_angles then
map.overlay_step = 1
end
map.overlay_m:start(map.overlay, function()
map:restart_overlay_movement()
end)
end
function map:on_started(destination)
map:set_overlay()
end
function map:on_draw(destination_surface)
-- Make the overlay scroll with the camera, but slightly faster to make
-- a depth effect.
local camera_x, camera_y = self:get_camera_position()
local overlay_width, overlay_height = map.overlay:get_size()
local screen_width, screen_height = destination_surface:get_size()
local x, y = camera_x, camera_y
x, y = -math.floor(x), -math.floor(y)
-- The overlay's image may be shorter than the screen, so we repeat its
-- pattern. Furthermore, it also has a movement so let's make sure it
-- will always fill the whole screen.
x = x % overlay_width - 2 * overlay_width
y = y % overlay_height - 2 * overlay_height
local dst_y = y
while dst_y < screen_height + overlay_height do
local dst_x = x
while dst_x < screen_width + overlay_width do
-- Repeat the overlay's pattern.
map.overlay:draw(destination_surface, dst_x, dst_y)
dst_x = dst_x + overlay_width
end
dst_y = dst_y + overlay_height
end
end
Merci a ceux qui trouveront le probleme
Edit, resolu, j'avais mal vu le code :mrgreen:
Sauf le bug d'affichage, je sais pas d'ou ca vient :huh:
C'est quoi le bug d'affichage exactement ?
Sur la vidéo, le problème que je vois c'est que vers la fin de la vidéo l'overlay ne se répète pas.
Citation de: Christopho le 28 Août 2015 à 16:57
C'est quoi le bug d'affichage exactement ?
Sur la vidéo, le problème que je vois c'est que vers la fin de la vidéo l'overlay ne se répète pas.
Je dirais plus que c'est un clipping, etrangement quand ca arrive l'éditeur plante quand je ferme la fenêtre du jeu, ptetre du a autre chose mais je signale quand meme ^^
https://www.youtube.com/watch?v=GR87RxJYuDE&feature=youtu.be