InícioFAQBuscarMembrosRegistrar-seLogin
A Equipe Central RPG Maker deseja a todos Boas Vindas!
Olá galera venho aqui pedir para ajuda a vocês pesso que postem conteúdo em nossa comunidade irei ajudar a vocês também.
Agora nossa comunidade também tem o famoso projeto de ouro porem da nossa comunidade leva um nome diferente leva o nome Osca de Ouro entre no tópico de Notícias e fique por dentro das novidades.

Compartilhe | 
 

 [Script]Aula 6: O Ponto Crítico!

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
..:: P.V Supreme ::..
Membro
Membro


Sexo : Masculino
Mensagens : 241

MensagemAssunto: [Script]Aula 6: O Ponto Crítico!   Dom Dez 19, 2010 9:54 am

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]Prefácio
Depois de 5 aulas, nós estamos chegando em um ponto críticos do conteúdo, para podermos prosseguir, precisamos ter total domínio em vários conceitos, esta aula servirá para isso, será uma aula um tanto pesada, mas se não entenderem alguma coisa, não se preocupem pois iremos aos poucos retomar cada coisa, aviso que a partir da próxima aula começaremos a ter conteúdos extremamente práticos que nos levarão para a criação de nossa 1º scene!
[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]Para Começar, as switches
Uma switch é, na verdade, um dado do tipo booleano, o que é isso? É um dado que só assume dois valores: true (verdadeiro, ligado) ou false (falso, desligado), na programação esses valores são representados por 1 e 0 respectivamente (0 e 1 binários não os decimais). (Curiosidade>é por isso que o botão power dos aparelhos eletronicos tem um número 1 e um 0, reparem que vocês irão ver!)

[Você precisa estar registrado e conectado para ver esta imagem.]Como usar?
Podemos usar valores booleanos ou "booleans" utilizamos os possíveis valores que eles podem tomar, ou seja, true ou false! Vamos a um exemplo:
Código:

var = true
<comandos...>
if var
  <...>
end
Veja que na condição, eu posso apenas colocar var, mas porquê? Sempre que tenho uma condição, na verdade eu estou testando se o meu valor é true ou false, por exemplo:
Código:

n = rand(2)
if n == 0
  <...>
end
O que o computador fará nesse caso? Ele irá verificar, n é 0, se for, vai retornar um true, caso contrário, será um false e ai não vai executar a acondição!!!
Como fazer uma condição em que tem que ser false?
Use !!
Você tambêm pode usar um operador lógico.

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]Operador lógico de NEGAÇÃO
Vocês devem lembrar da aula passada o and e o or, bom, tem mais um muito utilizado, o not, vamos a um exemplo:
Código:

n = rand(2)
if not n == 0
<...>
end
Nesse exemplo, o computador executará a condição sempre que n não for 0!
[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]Ampliando os conhecimentos com OPERADORES
Ensinarei agora, um truque para facilitar a vida de todos!!! Existem símbolos que podem ser usados com a mesma finalidade dos operadores lógicos, são eles:

&& > equivale ao and, use da exata mesma forma:
if var1 == 3 and var2 >= 4
fica:
if var1 == 3 && var2 >= 4

|| > equivale ao or, também use da mesma forma
if n < 93 or n >= 150
fica:
if n < 93 || n >= 150

! > equivale ao not, tem que estar junto da variável para funcionar!
if not var == 5
fica
if !var == 5
(poderia ter usado também if var != 5)

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]Listas
Agora que encerramos os conceitos de operadores lógicos, vamos aprender como criar e utilizar as listas!

[Você precisa estar registrado e conectado para ver esta imagem.]O Que é Uma Lista?
Lista é um objeto da classe Array, você pode imaginá-la como uma fita cheia de buracos que nós podemos colocar coisas lá:
|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|
Cada buraco tem um valor, que chamamos de endereço e é com ele que podemos nos "encontrar" dentro da nossa lista. Vamos exemplificar:
LISTA = []
LISTA = [5,3,4,7,1,9]
Tenho certeza que você já viu algo parecido em algum scritp, analisando essa lista, podemos dizer que o inteiro 5 está no endereço 0, 3 está no 1, 4 no 2...
Note agora que as $game_variables, os $game_actors e vários outros objetos são listas!
Para usá-los colocamos o nome do objeto, depois entre [] colocamos o endereço da lista e ai usamos normalmente, por exemplo:
$game_variables[3] += 4
Quando eu digo que eu estou no endereço 3, automaticamente estarei utilizando as opções do objeto que esta naquela posição, no caso das variáveis, todos os endereços são preenchidos com números, assim, posso somar, dividir...
Veja também que na classe Game_Actors, podemos usar os métodos do objeto, pense que em $game_actors, cada endereço é preenchido com um personagem, assim, $game_actors[1] vai usar o personagem 1, as opções deles são, entre outras coisas seus atributos, assim $game_actors[1].hp $game_actors[1].sp $game_actors[1].str são comandos válidos, pois asseçam os atributos do personagem de endereço 1 (1 no nosso exemplo, você pode acessar os outros.)


[Você precisa estar registrado e conectado para ver esta imagem.]Listas dentro de listas.
Este é um recurso muito utilizado, se você baixou a minha demo do SBABS, vai notar que existem muitas listas, na verdade todas as configurações são feitas por elas!
Exemplo:
AMMO_SKILL = []
AMMO_SKILL[51] = [0, true]
Como vou usar isso lá nos comandos? usando uma lista dentro da outra. Exemplo: AMMO_SKILL[51][0] > pegando a lista AMMO_SKILL, quero o endereço, 51, dentro desse endereço, quero outro endereço o [0], usando isso, irei pegar o número 0 que está na lista!

[Você precisa estar registrado e conectado para ver esta imagem.]

[Você precisa estar registrado e conectado para ver esta imagem.]O NIL
Apenas para constar, o vazio também está presente no RGSS, ele é representado pelo nil, é impoertante saber o que é isso, pois é normal que em scripts complexos apareçam erros do tipo: "Undefined metod for nill:Class", essas mensagens aparecem pela ocorrência de erros simples como:

if var && !var1
n = 5
end
n += 4

O erro ocorrerá quando a condição não for válida, pois n não será 5, será nil, como é impossível somar 4 no vazio vai dar erro. O correto seria:
n = 0
if var && !var1
n = 5
end
n += 4
Já que n valerá 0, independentemente da condição, eu posso somar 4!

[Você precisa estar registrado e conectado para ver esta imagem.]


[Você precisa estar registrado e conectado para ver esta imagem.]Dominando os MÉTODOS
Até agora, não utilizamos muito os métodos, porém agora deixaremos claro todas as possibilidades que eles possuem (talvez não todas, mas pelo menos as que nos interessam)

Chamando métodos:
Você está acostumado a fazer coisas como:
obj = Aleat.new
obj.executar
Porém os métodos são bem mais do que isso. Veja o exemplo abaixo:

Código:

class Scene_Teste
  def main
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
    end
  end
  def update
    <...>
  end
end
O que nos importa nesse exemplo, veja que dentro do comando loop do, eu tenho o comando update, mas o que seria isso? update é um método da nossa classe, quando estou executando um método, posso chamar outro, se ele é dentro da classe, apenas coloco o nome dele.

[Você precisa estar registrado e conectado para ver esta imagem.]O Comando return
Nosso querido return tem 2 finalidades:
Encerrar a execução de um método: sempre que o computador lê um return, ele pula direto para o fim do método, por exemplo:

Código:

var = rand(4)
if var == 0
  return
end
var +=
Nesse exemplo, se var assumir o valor 0, a condição estará satifeita e como tem um return, nada mais será executado naquele método, porém se não for 0, vai somar mais 1

Retornar um valor: vamos direto a um exemplo:
Código:

def soma
  $game_variables[3] = $game_variables[1] + $game_variables[2]
  return $game_variables[3]
end
Usando esse código, eu poderia dentro de um método usar n = soma, por exemplo, fazendo isso, n assumirá o valor da variável 3! Que é a que é retornada no método.

[Você precisa estar registrado e conectado para ver esta imagem.]Parâmetros
Parâmetros são informações que alguns métodos nescessitam para funcionar, não vou entrar em detalhes agora, mas por exemplo:
$game_party.gain_item(id, quantidade)
O conteúdo entre () são parâmetros do método!

[Você precisa estar registrado e conectado para ver esta imagem.]

Tags de busca

RGSS
Array
Parâmetros
Métodos
Lógica


..:: Crédito ::..
Total a: Anderson Porto...
Por Disponibilizar: ..:: P.V Supreme ::..


..:: Agradecimentos ::..
Google xD foi da onde que tirei... + sei que essas aulas são de Anderson Porto...
Voltar ao Topo Ir em baixo
http://centralrpgmaker.forumeiro.com
Nandik
Membro
Membro


Mensagens : 143

MensagemAssunto: Re: [Script]Aula 6: O Ponto Crítico!   Dom Dez 19, 2010 10:16 am

Acho que deve pedir a autorização do Dono para postalo.
Voltar ao Topo Ir em baixo
..:: P.V Supreme ::..
Membro
Membro


Sexo : Masculino
Mensagens : 241

MensagemAssunto: Re: [Script]Aula 6: O Ponto Crítico!   Dom Dez 19, 2010 11:25 am

como eu falei eu peguei no google, só que eu sei q e do Anderson Porto, eu coloquei os Crédito dele.. e eu mandei MP para ele na MRM só que ele não está entrando mais...
Voltar ao Topo Ir em baixo
http://centralrpgmaker.forumeiro.com
Conteúdo patrocinado




MensagemAssunto: Re: [Script]Aula 6: O Ponto Crítico!   Hoje à(s) 8:49 pm

Voltar ao Topo Ir em baixo
 
[Script]Aula 6: O Ponto Crítico!
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» [Aula - 02] Arte gráfica e efeitos especiais para Game Maker - Parte 2
» [Photoshop - Vídeo Aula][Criação de Styles - By Flash]
» [Iniciante][Video-Aula][ON]Video aula sign completa no ps, e animada no flash !
» [Video-Aula] Sign GFX Clean
» #IAJ Aula 05 - Pontuação

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
 :: Rpg Maker XP :: Scripts :: Curso RGSS-
Ir para: