Retour à l'accueil
Accueil Aide Rechercher Calendrier Identifiez-vous Inscrivez-vous
Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
17 Juin 2019 à 17:54

Connexion avec identifiant, mot de passe et durée de la session
Règlement | Grades du forum | L'équipe de modération | Album photo | Chat
Rechercher:     avancée
Forums Zelda Solarus  |  Jeux amateurs  |  Aide & support  |  Topic: [Résolu]Problème avec le Overlay 0 Membres et 1 Invité sur ce sujet.
Pages: [1] Imprimer
Auteur Sujet: [Résolu]Problème avec le Overlay  (Lu 1003 fois)
MetalZelda
Zora
*
Offline Offline

Messages: 833



Courriel
« le: 27 Août 2015 à 18:05 »

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

Code: [Select]
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
« Dernière édition: 01 Septembre 2015 à 12:22 par MetalZelda » Journalisée
MetalZelda
Zora
*
Offline Offline

Messages: 833



Courriel
« Répondre #1 le: 28 Août 2015 à 15:12 »

Edit, resolu, j'avais mal vu le code  :mrgreen:
Sauf le bug d'affichage, je sais pas d'ou ca vient  :huh:
Journalisée
Christopho
Administrateur
Héros
*
Offline Offline

Messages: 6 203


Mymy, je t'aime :)


WWW Courriel
« Répondre #2 le: 28 Août 2015 à 15: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.
Journalisée

Chaîne Twitch : diffusion en direct de sessions de développement de Solarus, de création de jeux, de parties de jeux vidéo.
Chaîne YouTube : replays des diffusions en direct, tutos Solarus
Compte Twitter : pour être au courant des nouveautés
Chat Discord : pour discuter en direct avec la communauté Solarus
MetalZelda
Zora
*
Offline Offline

Messages: 833



Courriel
« Répondre #3 le: 28 Août 2015 à 16:10 »

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
Journalisée
Pages: [1] Imprimer 
Forums Zelda Solarus  |  Jeux amateurs  |  Aide & support  |  Topic: [Résolu]Problème avec le Overlay
Aller à:  

Propulsé par MySQL Propulsé par PHP Powered by SMF 2.0.15 | SMF © 2006, Simple Machines LLC XHTML 1.0 Transitionnel valide ! CSS valide !
Zelda Solarus 2009Skin par Eidarloy
Solarus-Games