affiche vie hero
Jeu 10 Sep 2015 - 22:09
bonjour a tous je vous présente mon premier script alors dite moi ce que vous en penser
ce qu'il fait, il affiche la vie , le mana, le level et l'exp du hero
PS je compte l’améliorai avec plus de design après quand j'aurai eu vos avi
ce qu'il fait, il affiche la vie , le mana, le level et l'exp du hero
- Spoiler:
- Code:
class Scene_Map < Scene_Base
alias test_start start
def start
test_start()
create_sprite_test()
@level = -9999
@hp = -9999
@mp = -9999
@exp = -9999
@next_exp = -9999
end
alias test_update update
def update
test_update()
if @level != $game_actors[1].level || @hp != $game_actors[1].hp || @mp != $game_actors[1].mp
@sprite2.bitmap.clear()
@sprite2.bitmap.draw_text(10,10,220,25,"level = #{$game_actors[1].level} ")
@sprite2.bitmap.draw_text(10,70,220,25,"exp = #{$game_actors[1].exp} / #{$game_actors[1].next_level_exp} ")
@sprite2.bitmap.draw_text(10,30,220,25,"HP = #{$game_actors[1].hp} ")
@sprite2.bitmap.draw_text(10,50,220,25,"PM = #{$game_actors[1].mp} ")
@level = $game_actors[1].level
@hp = $game_actors[1].hp
@mp = $game_actors[1].mp
@exp = $game_actors[1].exp
@next_exp = $game_actors[1].next_level_exp
end
@sprite1.update
end
alias test_terminate terminate
def terminate
test_terminate()
@sprite1.bitmap.dispose()
@sprite1.dispose()
@sprite2.bitmap.dispose()
@sprite2.dispose()
end
def create_sprite_test
@sprite1 = Sprite.new
@sprite1.bitmap = Bitmap.new(200,200)
@sprite1.bitmap.fill_rect(0, 0, 170, 110, Color.new(191, 0, 0))
@sprite1.bitmap.fill_rect(5, 5, 160, 100, Color.new(246, 228, 151))
@sprite2 = Sprite.new()
@sprite2.bitmap = Bitmap.new(@sprite1.bitmap.rect.width, @sprite1.bitmap.rect.height)
end
end
PS je compte l’améliorai avec plus de design après quand j'aurai eu vos avi
- ZangtherMembre
- Nombre de messages : 913
Distinction : aucune
Date d'inscription : 06/02/2013
Re: affiche vie hero
Jeu 10 Sep 2015 - 23:21
Première chose, quand tu monkey-patch une classe (quand tu définis de nouvelles choses dedans, comme tu le fais à avec Scene_Map) tu n'es pas obligé de respécifier le lien d'héritage. Donc tu peux retirer le "< Scene_Base".
Ensuite, tu nommes très mal tes variables. "@sprite1", "@sprite2", "test_...", essaye plutôt de leur donner des noms explicites.
Après, tu t'ennuye à recréer une window via des scripts. Tu devrais plutôt tente d'utiliser les classes de Window (Window_Base et ses dérivées) afin de faire la même chose mais en mieux.
C'est une bonne idée de stocker dans des variables les précédentes valeurs pour éviter de retracer ce qui n'a pas changé. Par contre, pas besoin de les initialiser à -9999. De base, elles valent nil (null) donc ta condition marchera quand même.
Coté amélioration, tu devrais tracer le Faceset et des jauges pour les valeurs. Ca sera bien mieux.
Bonne continuation.
Ensuite, tu nommes très mal tes variables. "@sprite1", "@sprite2", "test_...", essaye plutôt de leur donner des noms explicites.
Après, tu t'ennuye à recréer une window via des scripts. Tu devrais plutôt tente d'utiliser les classes de Window (Window_Base et ses dérivées) afin de faire la même chose mais en mieux.
C'est une bonne idée de stocker dans des variables les précédentes valeurs pour éviter de retracer ce qui n'a pas changé. Par contre, pas besoin de les initialiser à -9999. De base, elles valent nil (null) donc ta condition marchera quand même.
Coté amélioration, tu devrais tracer le Faceset et des jauges pour les valeurs. Ca sera bien mieux.
Bonne continuation.
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|