game:on_started() ... night_overlay = sol.surface.create(320, 240) -- Créer une surface vide de 320x240 pixels appelée night_overlay. night_overlay:set_opacity(192) -- La rendre partiellement transparente. night_overlay:fill_color({0, 0, 64}) -- La remplir en bleu foncé pour un effet de nuit.end
function game:on_map_changed(map) function map:on_draw(destination_surface) night_overlay:draw(destination_surface) endend
Le tutoriel est assez clair , je pense que tu devrais préciser où trouver le game::on_started() et le map::on_started(), parce que je pense que ceux qui vont s'initier dans le futur vont être perdu xD
Quote from: MetalZelda on 22 Avril 2013 à 15:17Le tutoriel est assez clair , je pense que tu devrais préciser où trouver le game::on_started() et le map::on_started(), parce que je pense que ceux qui vont s'initier dans le futur vont être perdu xDEffectivement, ce tuto part du principe que le lecteur connaît les bases du scripting Lua avec le moteur Solarus, a déjà scripté quelques maps, etc. Je ferai d'autres tutos d'introduction pour ces bases En attendant il y a la doc de référence très (trop) complète : www.solarus-games.org/doc/1.0.0/lua_api.html
function map:on_draw(destination_surface) night_overlay:draw(destination_surface) end
function game:on_map_changed(map) map.on_draw = function(map, destination_surface) night_overlay:draw(destination_surface) endend
local m = sol.movement.create("straight") -- Créer un mouvement rectiligne.m:set_speed(16) -- 16 pixels par seconde.m:set_angle(math.pi / 4) -- Direction nord-est.m:set_max_distance(200) -- Arrêter le mouvement au bout de 200 pixels parcourus.m:start(night_overlay, function() m:set_speed(16) m:set_angle(2 * math.pi - m:get_angle()) -- Demi-tour une fois le mouvement terminé.end)
night_overlay:draw(destination_surface, x, y)