vJass tuts #2 - Struct (parte 1)
TeaM KingS :: Games: :: Warcraft: World Editor :: Tutoriais: Gui, Jass, Spells, Terrain, Modelagem, Textura :: Jass
Página 1 de 1
vJass tuts #2 - Struct (parte 1)
vJass tuts #2 - Struct (parte 1)
Nesse tutorial vou começar a ensinar sobre structs. Com as structs você poderá criar seus próprios tipos. Tipos? Sim, tipos. Tipos como unit, item, effect, etc... Vou dar um exemplo logo de cara. Vamos criar um simples tipo "cachorro":- Código:
struct Cachorro
endstruct
Bom, Agora podemos criar váriaveis do tipo Cachorro. E o que nosso cachorro faz? Por enquanto nada. Então vamos mandar ele fazer algo? Que tal "latir"?
- Código:
library Tutorial2
struct Cachorro
method latir takes nothing returns nothing
call BJDebugMsg("au au")
endmethod
endstruct
endlibrary
Vamos agora testar nosso cachorro. Usando o código anterior, coloque o código abaixo antes do endlibrary:
- Código:
function TestarCachorro takes nothing returns nothing
// tudo que é escrito depois de "duas barras" não é executado pelo jogo.
// em programação chamamos essas linhas de comentários
// na linha abaixo, declaramos uma "váriavel local" do tipo Cachorro
// uma variavel local é uma variavel que só existe dentro daquela função
// cria uma variavel local desse jeito:
// local tipo nome
local Cachorro NossoCachorro
// agora setamos a variavel com um novo Cachorro.
// escrever Cachorro.create() significa que você está chamando o construtor dele
// um construtor cria (create) um objeto do tipo daquela struct
// após criar o objeto, o construtor retorna ele
// assim setamos esse objeto retornado na nossa váriavel
set NossoCachorro = Cachorro.create()
// agora que temos nosso cachorro criado vamos mandar ele latir
call NossoCachorro.latir()
// agora para finalizar mude a linha da library Tutorial2 para:
// library Tutorial2 initializer TestarCachorro
endfunction
É bom você saber que toda vez que você chamar um construtor ele retorna um "novo" objecto. Por exemplo:
- Código:
set cachorro1 = Cachorro.create()
set cachorro2 = Cachorro.create()
Falando em destruir, toda struct também tem um destrutor. Ele serve para destruir aquele objeto. Você destroi objetos quando não precisa mais deles. Veja como usar o destrutor:
- Código:
call cachorro1.destroy()
Bills escreveu:Galera dessa vez vai ser só isso. Quero ressaltar que essa parte de structs é um pouco confusa. Então se vc estiver tendo dúvidas, poste sobre ela. Mas pratique... crie seus próprios códigos testando as coisas que ensinei nesse tutorial. Quer uma dica? Faça uma struct Gato e crie um método para ele miar ou crie mais métodos para o cachorro, etc.
Em breve posto a segunda parte.
Até!
Bills- Número de Posts : 1446
Data de inscrição : 04/12/2010
Reputação : 173 Pontos : 31124
Tópicos semelhantes
» [TUTORIAL] vJass tuts #1 - Básico
» Poderes em VJass
» [System][vJass]RGB <-> Hexadecimal
» [Duvida] Problemas com vJASS
» [vJass, JESP] Time Stop 1.3.2
» Poderes em VJass
» [System][vJass]RGB <-> Hexadecimal
» [Duvida] Problemas com vJASS
» [vJass, JESP] Time Stop 1.3.2
TeaM KingS :: Games: :: Warcraft: World Editor :: Tutoriais: Gui, Jass, Spells, Terrain, Modelagem, Textura :: Jass
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos