sábado, 17 de maio de 2008

Tutorial do awoke de AS - variáveis

Antes de tudo , vamos dar os parabéns a Caca , por hoje ser aniversário dela e ela ser uma Orgulhosa gente-boa , ou , em suas palavras , uma p*** Orgulhosa! =P

Créditos: Awoke

Tutorial de AS básico e Variáveis

Eu decidi vir para dar uma aulinha de AS pra quem quiser saber ActionScript(AS) , eu não sou um super developer, mas gostaria de compartilhar o que eu sei com outras pessoas.

Primeiro alguns nomes básicos:

AS = ActionScript, é a forma de programação do Flash.
MC = Movie Clip, é como uma animação que pode receber frames e AS, para criar um aperta F8 com uma figura selecionada e depois escolha Mocie Clip.
BT = Button ou botão um botão pode receber condição e um pouco do AS que os MCs não pode receber, como o de passar o mouse por cima, clicar tirar o mouse e coisas go gênero.Também criado por F8.
KeyWords = são Comandos importantes no AS que geralmente ficam em azul após serem escritos, ou uma cor que você escolher quando aperta control+U para mudar as preferências .
Vars = variáveis, o nome é meio complicado de escrever então é melhor colocar pequeno.
Forjar = eu uso a idéia de forjar em AS para dizer me vou montar um script, pois você faz ele fo nada e depois vai refinando e coisas assim.
F9 = Não é um nome, mas sim um atalho para a tela onde digitamos todo o Script

Agora algumas coisas importantes, mas simples de aprender:

_root = Eu demorei para perceber qual o grande valor disso, mas é bom que eu já saibam como é .O root tem o sentido de raízes, ele serve para você pode mexer com variáveis de outros de Outros MCs, por exemplo, se um tiro toca o inimigo, aquele inimigo terá a variável vida reduzida. Entendeu? A estrutura dele é assim: _root.”nome do mc sem aspas”. ”variável do mc sem aspas” (aqui na frente vem uma ação).
Talvez mais tarde eu explique mais sobre isso.

As chaves ({,}) = Elas indicam aonde começam e aonde terminam uma lista de ações a partir de uma condição.

onClipEvent (load) {
(ações)
(ações)
}

O esta Keyword indica que as ações ocorrerão apenas uma vez, ou seja, apenas quando o MC eh carregado( load = carregar).
Normalmente definimos variáveis que queremos carregar pelo começo do jogo.

onClipEvent (enterFrame) {
(ações)
(ações)
}

Esta Keyword é como a anterior, mas nessa as ações ocorrem o tempo todo, como si fosse em tempo real, aqui dentro colocamos coisas que queremos que sejam atualizadas o tempo todo, como a verificação se uma condição esta acontecendo(if) ou então fazemos sistema de tempo e coisas ke precisam ser mudadas o tempo todo.

_x e _y = O movimento de objetos trabalha com coordenadas, tipo aquelas de jogo de Xadrez, de batalha naval, e principalmente do Plano CARTESIANO. Onde o _y = 0 é no topo ta tela e vai aumentando para baixo. O _x começa pela esquerda e vai aumentando indo para direita.
Em casos negativos, vc estará saindo da tela.

on (release) {
(ações)
(ações)
}

Esse é bem simples, serve para que coisas aconteçam após um objeto ser clicado.

Bem, hoje quero ensinar sobre variáveis, não é muito complicado mas é importante aprender isso, pois em AS tem muita matemática.

Bem para começar, variáveis são como X e Y que aprendemos em matemática, variáveis, são coisas que podem variar, a que eu mais uso é a em número.
Em AS para calcular nós usamos várias coisas as mais importantes vou explica agora:

Var++ (= Soma 1 para aquela variável.)
Var-- (= Subtrai 1 daquela variável.)
Var += x (= soma o x(que você pode escolher o que será) para aquela variável.)
Var -= x (= mesmo que anterior, mas subtraindo)
Var = x (= Aqui damos um valor para a variável, não importando o anterior.)

Uma coisa muito importante que vou me concentrar, será sobre o Var = x, em toda as suas formas.
Primeiro, vamos usar o exemplos, o primeiro será Maças de Hdom (xP).

UMA COISA MUITO IMPORTANTE È USAR NOME DE VAR CURTOS, POIS É MAIS FÁCIL QUANDO FOR DIGITAR.
mh = Maças de Hdom

Então vamos forjar um script bem simples com exemplos...

1 - Em um MC, coloque o nome de “q”(sem aspas) (aonde tem “ “ coloque o “q”) e coloque isso em F9: (P.S. não há linhas em branco entre os códigos , é uma peculioariedade do blogspot mesmo ¬¬ )

onClipEvent (load){

mh = 400;

}

onClipEvent (enterFrame) {

_root.ma.text = "Maçãs: "+mh;

}

tradução: Ao carregar o jogo o Hdom terá 400 maças e o campo de texto ma terá o texto “Maças: x” onde x é a quantidade de maçãs, sempre atualizado

2 - Agora crie um campo de texto dinâmico GRANDE (pegue ferramenta de texto crie um espaço, deixe em branco e selecionado como “Dynamic Text”) em “ “ ponha como “ma”.

3 - Agora crie 2 BT e coloque um com imagem de ganhar maça e outro de perder maçã.No de ganhar você põe

on (release) {

_root.q.mh++;

}

4 - E o de perder ponha:

on (release) {

_root.q.mh--;

}

Pronto, criamos um pequeno script em que podemos dar ou tirar maças do hdom.

Vamos colocar mais cálculos com variáveis, com as caixas para maçãs.

Hdom gosta de guardar suas maçãs em caixas ke cabem 4 maçãs, se ele tem 400 maçãs, ele precisa de 100 caixas para guardar as maçãs, agora vamos ao script de do MC “q” , substitua ponha isso:

onClipEvent (load) {

mh = 400;

}

onClipEvent (enterFrame) {

_root.ma.text = "Maçãs: "+mh;

cx = mh/4;

_root.cx.text = "Caixas necessárias: "+cx;

}

O que nós mudamos aqui foi que o valor de caixas(cx) é mh dividido por 4 (“/” indica divisão) e que estamos mostrando a quantidade de caixas necessárias num campos dinâmico que chamado cx. Criei o campo dinâmico cx em tamanho grande. E não esqueça de nomear.

Agora vamos simular uma lucro para a venda das caixas de maçãs de hdom (mas ele eh dono du lixão,xP )

Se ele tem 400 maçãs e colocar 4 em cada caixa e vende cada caixa por 2 reaus(xP, creanssa anaufabétiga) ele terá o lucro de 100 caixas vezes 2, ke seria 200. agora ao script.

Crie outro campo dinâmico e coloke de lu.

Agora de volta ao MC “q” substitua tudo por isso:

onClipEvent (load) {

mh = 400;

}

onClipEvent (enterFrame) {

_root.ma.text = "Maçãs: "+mh;

cx = mh/4;

_root.cx.text = "Caixas necessárias: "+cx;

lu = cx*2;

_root.lu.text = "Lucro bruto: "+lu;

}

O quê nós adicionamos aqui foi ke o lucro(lu) é igual as caixas(cx) vezes 2 (“*” é usado para multiplicação, veja no seu teclado numérico) e ke o lucro é mostrado pelo campo de texto dinâmico “lu”.

E se o TheJCS cobrasse 13% dos lucros do Hdom como impostos (lol).

Primeiro tempos ke calcular quanto é 1% do lucro.

Ponha isso no MC “q”:

onClipEvent (load) {

mh = 400;

}

onClipEvent (enterFrame) {

_root.ma.text = "Maçãs: "+mh;

cx = mh/4;

_root.cx.text = "Caixas necessárias: "+cx;

lu = cx*2;

_root.lu.text = "Lucro bruto: "+lu;

p = lu/100;

_root.p.text = "1% do lucro: "+p;

}

Calculamos que 1%(p) é igual a lucro(lu) dividido por 100 e depois mostramos novamente a var, para que ela fique visível, crie mais um campo dinâmico e coloque nome de p.

Então aqui deu que 1% = 2

Mas Awoke, o “imposto” é de 13 porcento, não 1.

Calma, agora vamos pegar o imposto e o lucro final de Hdom.

Devemos multiplicar o 1% por 13 e depois subtrair do lucro bruto para termos o lucro final.

Agora o script final do MC “q”

onClipEvent (load) {

mh = 400;

}

onClipEvent (enterFrame) {

_root.ma.text = "Maçãs: "+mh;

cx = mh/4;

_root.cx.text = "Caixas necessárias: "+cx;

lu = cx*2;

_root.lu.text = "Lucro bruto: "+lu;

p = lu/100;

_root.p.text = "1% do lucro: "+p;

im = p*13;

lf = lu-im;

_root.im.text = "Imposto do Jay: "+im;

_root.lf.text = "Lucro final: "+lf;

}

Como eu disse o imposto(im) é igual a 1%(p) vezes 13, o lucro final(lf) é igual a lucro inicial(lu) menos os impostos(im), e as vars são mostradas por 2 campos dinâmicos, im e lf, que você deve criar.

Mas tio Awoke, fica estranho esses montes de número em casas decimais.

Calma, o flash tem o Math.round (calculos) que faz com que os valores sejam arredondados.

Então se quiser tudo arredondado coloque:

onClipEvent (load) {

mh = 400;

}

onClipEvent (enterFrame) {

cx = Math.round(mh/4);

lu = Math.round(cx*2);

p = Math.round(lu/100);

im = Math.round(p*13);

lf = Math.round(lu-im);

_root.ma.text = "Maçãs: "+mh;

_root.cx.text = "Caixas necessárias: "+cx;

_root.lu.text = "Lucro bruto: "+lu;

_root.p.text = "1% do lucro: "+p;

_root.im.text = "Imposto do Jay: "+im;

_root.lf.text = "Lucro final: "+lf;

}

Eu aproveitei e organizei um pouco : )

Também há um sistema para que o um objeto esteja olhando para o Mouse, eu não sei como funciona, mas é baseado no _rotation e um pouco de PII, no Emanuele Feronato você pode encontrar exemplos disso.

XP, bem aqui foi um pequeno tuto sobre vars.

Mas como isso será útil em um jogo tio Awoke?

As vars estão em tudo nos games, por exemplo as magias do Sonny, algumas são de ficar 70% mais forte por um tempo e também há aqueles upgrades de pontos, e também os equipamentos, a os pontos de vida dos inimigos, pontos de magia e movimentos e tal, eu sei que ainda não é muito útil ,mas isso e importante e já ensina algumas coisas básicas sobre o flash.

Para baixar o Arquivo em SWF (não editável, mas visível sem flash) a URL é:

4Kb http://rapidshare.com/files/115417231/aulinha1.swf.html

Para baixar o Arquivo em FLA (editável, mas não visível sem FLA) a URL é:

65Kb http://rapidshare.com/files/115417577/aulinha.fla.html

Blz e falouzzzz

Nenhum comentário: