Visitante!
Faça seu Login ou Registre-se!

Galeria de Jogos

Aula Ativa de Ruby/RGSS e outras linguagens de programação 47 Respostas | 6691 Visualizações

0 Membros e 1 Visitante estão vendo este tópico.

Raizen

  • *
  • Mensagens: 2467 Ouro: 1825

    Vencedor CRM Awards - Melhor Scripter Vencedores das edições do Concurso Projeto Rickas!

    • Ver perfil
    • E-mail
Aula Ativa de Ruby/RGSS


Como funciona o tópico?

 É bem simples, esse tópico serve para funcionar como um bate-bola, bem mais rápido e simples de perguntar e ser respondido quando a pergunta não é especifico de um script. Pergunte sobre a linguagem Ruby, sobre outras linguagens também, ou sobre algo do RGSS, caso seja algo da biblioteca(RGSS), indique a engine ou a versão do RGSS que está fazendo a sua pergunta, na dúvida sempre indique a engine que está usando.


Exemplo de pedido

Engine: RMVX Ace
Explicação: Eu não estou conseguindo colocar constantes dentro do módulo, não sei oque estou fazendo de errado.
Código exemplo:
Código: [Selecionar]
module Rai
constante = 2
end


código para quem quiser usar o template de dúvidas


Engine:
Explicação:
Código exemplo:
[code][/code]
« Última modificação: 01 Set 2016, 12:02 por Raizen »

Nandikki

  • *
  • Mensagens: 1377 Ouro: 632

    Participantes do Maps Together 2

  • Run!
    • RPG Maker MV
    • Ver perfil
  • NightWalker
Re: Aula Ativa de Ruby/RGSS
Resposta 1 Online: 28 Nov 2012, 14:10
Engine: RMXP
Explicação: Estou usando o chamar script para igualar uma variável a outras duas variáveis subtraidas
Código exemplo:
Código: [Selecionar]
[$Game_Variables[6] = $Game_Variables[2] - $Game_Variables[4]

Raizen

  • *
  • Mensagens: 2467 Ouro: 1825

    Vencedor CRM Awards - Melhor Scripter Vencedores das edições do Concurso Projeto Rickas!

    • Ver perfil
    • E-mail
Re: Aula Ativa de Ruby/RGSS
Resposta 2 Online: 28 Nov 2012, 14:16
mas isso ai está certo xD.
tipo:

Chamar Script:
Código: [Selecionar]
$game_variables[6] = $game_variables[4] - $game_variables[2]

dêemi

  • *
  • Mensagens: 4 Ouro: 0
    • Ver perfil
Re: Aula Ativa de Ruby/RGSS
Resposta 3 Online: 15 Dez 2012, 15:09
Opa, estou tentando aprender um pouco de RGSS3 acompanhando as aulas do Khas, porem naaula quatro to tendo um problema que é o seguinte, o script tá assim:
Código: [Selecionar]
class Teste
 
  def intialize
    @x = 10
   
  end
 
  def comparar
   
    if @x == 10
      p "@x é igual a10"
     
    else
      p "erro"
     
    end   
  end
end

teste = Teste.new
teste.comparar

O problema é que, tá printado "erro", mas é pra printar "@x é igual a10"

Como to começando agora, não entendo oque eu fiz de errado, então vim pedir ajuda. Obrigado.

Danka

  • *
  • Mensagens: 207 Ouro: 98
  • Mais uma dose, é claro que tô afim.
    • Ver perfil
    • E-mail
Re: Aula Ativa de Ruby/RGSS
Resposta 4 Online: 15 Dez 2012, 15:16
Poderia falar qual é o erro?

EDIT: O probelma é que você escreveu "initialize" errado, então a variável @x não é 10, escreva o initialize corretamente, que irá funcionar.
« Última modificação: 15 Dez 2012, 15:20 por Danka »
...

Raizen

  • *
  • Mensagens: 2467 Ouro: 1825

    Vencedor CRM Awards - Melhor Scripter Vencedores das edições do Concurso Projeto Rickas!

    • Ver perfil
    • E-mail
Re: Aula Ativa de Ruby/RGSS
Resposta 5 Online: 15 Dez 2012, 15:22
Você escreveu

def intialize

falta o i xD.

def initialize

Oh wait, Danka editou a mensagem u__u

dêemi

  • *
  • Mensagens: 4 Ouro: 0
    • Ver perfil
Re: Aula Ativa de Ruby/RGSS
Resposta 6 Online: 15 Dez 2012, 15:27
Código: [Selecionar]
else
      p "erro"
     
    end   

ta printando "erro", mais era pra printar "erro" apenas se "@x" não fosse igual a 10, mas mesmo sendo igual a 10 ta printando, querai saber se errei em alguma parte do codigo

#edit: é mesmo, obrigado.
nossa velho, eu tentei achar o problema varias veze e nao percebi isso, obrigadao Danka e Raizen
« Última modificação: 15 Dez 2012, 15:29 por dêemi »

Danka

  • *
  • Mensagens: 207 Ouro: 98
  • Mais uma dose, é claro que tô afim.
    • Ver perfil
    • E-mail
Re: Aula Ativa de Ruby/RGSS
Resposta 7 Online: 15 Dez 2012, 15:30
Você errou no "def intialize" se escreve "def initialize".
Escreva o nome do metódo corretamente que vai funcionar.

Ele editou a mensagem. xD
...

denisbts

  • *
  • Mensagens: 6 Ouro: 0
    • Ver perfil
    • E-mail
Re: Aula Ativa de Ruby/RGSS
Resposta 8 Online: 23 Jan 2013, 20:18
Gente bom antes de tudo Boa Noite !

Bom galera eu começei a aprender a linguagem Ruby faz um dia e to com um problema em um script irei postalo e queria saber se você poderia mi ajudar to ficando doico com ele  :aiaiai:

Bom aqui o Script:
Código: [Selecionar]
class Teste
def q
end
end

 var = " Variavel Local"
 @var = " Variavel de Classe"
 $var= " Variavel Global"

  def q
  print @var
  print $var
 
end

teste = Teste.new
teste.q

Bom o que eu quero com esse script é basicamente que ele printe na tela as seguintes fazes:
" Variavel Local
Variavel de Classe
Variavel Global"

que são referentes ao (var, @var, $var citados acima no script).
Espero que vocês possam me ajudar to ficando doido com isso !
Desde já agradeço !

Danka

  • *
  • Mensagens: 207 Ouro: 98
  • Mais uma dose, é claro que tô afim.
    • Ver perfil
    • E-mail
Re: Aula Ativa de Ruby/RGSS
Resposta 9 Online: 23 Jan 2013, 20:53
Ai meus olhos. Ò_Ó -zoa

Ele está todo errado, primeiro, você poderia ter utilizado o "def q" antes, não precisava "abrir ele novamente". E você abriu ele fora da classe "Teste".
Também errou um sinal ($var= "Variável Global", o certo seria $var = "Variável Global")

Faça isso, crie um metódo onde guarda a informação, e o chame de "initialize" ele é automatico, e é ativado assim que o script é chamado.
E no def q, use o "print (nome da variável)"

Vê se funciona.



...

denisbts

  • *
  • Mensagens: 6 Ouro: 0
    • Ver perfil
    • E-mail
Re: Aula Ativa de Ruby/RGSS
Resposta 10 Online: 23 Jan 2013, 21:01
Aaa cara valeu pela ajudinha basica rsrsrs.. mas é qui to nisso faz 1 dia só da um descontinho kkkk

Ai eu fiz como você falou e deu certim :D... vlw pela ajudinha meu irmãosinho s2 kkk zua
« Última modificação: 23 Jan 2013, 21:04 por denisbts »

denisbts

  • *
  • Mensagens: 6 Ouro: 0
    • Ver perfil
    • E-mail
Re: Aula Ativa de Ruby/RGSS
Resposta 11 Online: 24 Jan 2013, 15:50
Galera da uma ajudinha aqui to com uma duvida... o que tem de errado nesse script de pulo basico.

Código: [Selecionar]
class Game_Player < Game_Character
    alias xaspim_update update
    def update
    xaspim_update
    if Input.trigger?(:X)#: confirma = C, A=X, S=y, Z=d   
      jump_by_input if passable?(@x, @y, @direction)
      end
    end
  def jump_by_input
    case @direction
    when 2  # Baixo
      jump (0,1)
    when 4  # Esquerda
      jump (-1,0)
    when 6  # Direita
      jump (1,0)
    when 8  # Cima
      jump (0,-1)
    end       
   end
  end

eu procurei mas não achei :S.. ele da erro na linha 12

Raizen

  • *
  • Mensagens: 2467 Ouro: 1825

    Vencedor CRM Awards - Melhor Scripter Vencedores das edições do Concurso Projeto Rickas!

    • Ver perfil
    • E-mail
Re: Aula Ativa de Ruby/RGSS
Resposta 12 Online: 24 Jan 2013, 15:57
Só um erro, não de espaço entre o método e o "(" dos parâmetros.

então jump(1,0) por exemplo.

denisbts

  • *
  • Mensagens: 6 Ouro: 0
    • Ver perfil
    • E-mail
Re: Aula Ativa de Ruby/RGSS
Resposta 13 Online: 24 Jan 2013, 16:04
haha obrigado Raizen, mas me diga uma coisa, por que não pode ter espaço entre o jump e o (,) só uma mini duvida :), mas vlw !

Raizen

  • *
  • Mensagens: 2467 Ouro: 1825

    Vencedor CRM Awards - Melhor Scripter Vencedores das edições do Concurso Projeto Rickas!

    • Ver perfil
    • E-mail
Re: Aula Ativa de Ruby/RGSS
Resposta 14 Online: 24 Jan 2013, 16:12
é porque são as regras :P... nem zoa é assim.

O Ruby para simplificar ele, fizeram com que espaço e linhas puladas tivessem significância, então quando você pula uma linha em algumas outras linguagens é obrigatório por exemplo colocar o ; para indicar que pulou, no Ruby não, basta pular a linha, espaço é a mesma coisa, o método tem que estar tudo junto, todas as letras e os parâmetros, basta ver, não da para criar um método tipo..

def esse eh um metodo

eles não podem estar separados, e o () tem que estar junto quando se cria o método, def jump(x, y), então quando eu vou chamar o método ele também tem que estar junto :P, jump(1, 2).

 

Versão Mobile