O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

AB7 - XP - Piano

Iniciado por Avenger_B7, 30/10/2013 às 14:47

30/10/2013 às 14:47 Última edição: 20/01/2017 às 10:04 por King Gerar
- Criado por [user]allanndsr[/user]

[box class=catbg]Introdução:[/box]
[box class=randomquote]
Meu primeiro script, então está bem básico, sem falar que o código não deve estar nem um pouco otimizado. Esse sistema dá para fazer por eventos, e é até mais fácil, porém eu quis treinar um pouco RGSS. Espero que possam olhar o código e me ajudar a melhorá-lo, comentando os tópicos principais.     
[/box]


[box class=catbg]Características:[/box]
[box class=randomquote]- Script de piano que permite tocar as notas centrais. Sustenidos não inclusos.
[/box]

[box class=catbg]Como usar:[/box]
[box class=randomquote]- Cole os recursos (em anexo) nas suas respectivas pastas.
- Coloque o script acima do Main.
- Crie um NPC para chamar o seguinte script.
Spoiler
@piano = Sprite.new
@piano.bitmap = RPG::Cache.picture("Piano")
@piano.x = 200
@piano.y = 100
Piano = Play_Piano.new
Piano.tocar
[close]
[/box]

[box class=catbg]Script:[/box]
[box class=randomquote]
#================================================================
#================================================================
                           # XP - Piano
                           #
                         #Autor: Avenger_B7
                         #Data: 30/10/2013                         
#================================================================
#================================================================


class Play_Piano  
  def tocar

  # Caso aperte A tocar nota dó.
  if Input.trigger?(Input::X)      
   @nota_do = Sprite.new
   @nota_do.bitmap = RPG::Cache.picture("Dó")      
   @nota_do.x = 200
   @nota_do.y = 100
   Audio.se_play("Audio/SE/do")
  end

  # Caso aperte Y tocar nota ré.
  if Input.trigger?(Input::Y)      
   @nota_re = Sprite.new
   @nota_re.bitmap = RPG::Cache.picture("Ré")
   @nota_re.x = 200
   @nota_re.y = 100
   Audio.se_play("Audio/SE/re")
  end

  # Caso aperte Z tocar nota mi.
  if Input.trigger?(Input::Z)      
   @nota_mi = Sprite.new
   @nota_mi.bitmap = RPG::Cache.picture("Mi")
   @nota_mi.x = 200
   @nota_mi.y = 100
   Audio.se_play("Audio/SE/mi")
  end

  # Caso aperte Esquerda tocar nota fá.
  if Input.trigger?(Input::LEFT)      
   @nota_fa = Sprite.new
   @nota_fa.bitmap = RPG::Cache.picture("Fá")
   @nota_fa.x = 200
   @nota_fa.y = 100
   Audio.se_play("Audio/SE/fa")
  end

  # Caso aperte Cima tocar nota sol.
  if Input.trigger?(Input::UP)      
   @nota_sol = Sprite.new
   @nota_sol.bitmap = RPG::Cache.picture("Sol")
   @nota_sol.x = 200
   @nota_sol.y = 100
   Audio.se_play("Audio/SE/sol")
  end

  # Caso aperte Direita tocar nota lá.
  if Input.trigger?(Input::RIGHT)      
   @nota_la = Sprite.new
   @nota_la.bitmap = RPG::Cache.picture("Lá")
   @nota_la.x = 200
   @nota_la.y = 100
   Audio.se_play("Audio/SE/la")
  end

  # Caso aperte Baixo tocar nota si.
  if Input.trigger?(Input::DOWN)      
   @nota_si = Sprite.new
   @nota_si.bitmap = RPG::Cache.picture("Si")
   @nota_si.x = 200
   @nota_si.y = 100
   Audio.se_play("Audio/SE/si")
  end

  # Caso aperte X, Esc ou 0 desligar a switch de ID 1.
  if Input.trigger?(Input::B)      
   $game_switches[1] = false
  end
 end  
end
[/box]

[box class=catbg]Créditos:[/box]
[box class=randomquote]A ninguém! Isso, vocês são livres para voar. Se quiserem eu faço esse sistema por eventos - ficando melhor - e aí vocês me creditam, mas esse script é só para treino. o//
[/box]
Unique Destiny | um novo conceito de RPG Maker 2000!