PSP-NEWS - PS4, PS3, PS VITA e PSP
A gerência da PSP-NEWS agora tem um novo projeto, estamos dedicados a criar jogos para dispositivos móveis. Podem visitar a nossa página em http://www.foryouplay.com/ e transferir os nossos jogos.

Obrigado!

Participe do fórum, é rápido e fácil

PSP-NEWS - PS4, PS3, PS VITA e PSP
A gerência da PSP-NEWS agora tem um novo projeto, estamos dedicados a criar jogos para dispositivos móveis. Podem visitar a nossa página em http://www.foryouplay.com/ e transferir os nossos jogos.

Obrigado!
PSP-NEWS - PS4, PS3, PS VITA e PSP
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

PS4, PSP, PS VITA, PSN, PS3, ONLINE, SONY, NINTENDO, XBOX, PC


Você não está conectado. Conecte-se ou registre-se

[Lua] #4 Aula de programação

Ir para baixo  Mensagem [Página 1 de 1]

1[Lua] #4 Aula de programação Empty [Lua] #4 Aula de programação Seg 15 Jun - 21:31:06

Convidad

Anonymous
Convidado

Boas!

Na primeira aula do DS, ele explicou como colocar um objecto em movimento e referiu que se podia substituir por imagens para dar o aspecto realista de um boneco em movimento.

A essas imagem chama-se SPRITES e são em muitos casos imagens retiradas de jogos originais de outras consolas ou até mesmo de psp.

1º Vamos começar por atribuís o valor "Time" no início do código;

Time = 0

2º Agora vamos fazer uma function;

function moveresquerda()
Time = Time+1

if Time == 27 then -- Deve-se colococar sempre +2 valores que a realidade
Time == 0
end

if Time == 5 then
player.img = esquerda1
end

if Time == 10 then
player.img = esquerda2
end

if Time == 15 then
player.img = esquerda3
end

if Time == 20 then
player.img = esquerda4
end

if Time == 25 then
player.img = esquerda5
end
end

3º Da seguida fazem o mesmo para os movimentos que quiserem;

function moverdireita()
function movercima()
function moverbaixo()

4º De seguida vamos fazer o controlo de movimento;

while true do
pad = Controls.read

if pad:left() then
player.x = player.x-2
moveresquerda()
end

if pad:right() then
player.x = player.x+2
moverdireita()
end

if pad:up() then
player.y = player.y-2
movercima()
end

if pad:down() then
player.y = player.y+2
moverbaixo()
end

5º Agora basta colocar no final do código o seguinte:

screen:clear(preto)
screen:blit(player.x,player.y,player.img)

screen.waitVblankStart()
screen.flip()
end

PS: Não se esqueçam de fazer o load às imagens no início do código e colocar o código de cores.

No final devem ficar com um código paracido com este:


--Cores
preto = Color.new(0,0,0)

--Carregamento de imagens
esquerda1 = Image.load("localização da imagem.png")
esquerda2 = Imagem.load("localização da imagem.png")
...
...
...

--Jogador
player = {}
player.x = (valor a atribuír)
player.y = (valor a atribuír)
player.img = (colocar a imagem do boneco parado)

--Tempo
Time = 0

--Functions de movimento
function moveresquerda()
Time = Time+1

if Time == 27 then -- Deve-se colococar sempre +2 valores que a realidade
Time == 0
end

if Time == 5 then
player.img = esquerda1
end

if Time == 10 then
player.img = esquerda2
end

if Time == 15 then
player.img = esquerda3
end

if Time == 20 then
player.img = esquerda4
end

if Time == 25 then
player.img = esquerda5
end
end

...
...
...
...

--Controlos
while true do
pad = Controls.read

if pad:left() then
player.x = player.x-2
moveresquerda()
end

if pad:right() then
player.x = player.x+2
moverdireita()
end

if pad:up() then
player.y = player.y-2
movercima()
end

if pad:down() then
player.y = player.y+2
moverbaixo()
end

--Terminar o código
screen:clear(preto)
screen:blit(player.x,player.y,player.img)

screen.waitVblankStart()
screen.flip()
end

Cumprimentos



Última edição por mirone94 em Qui 18 Jun - 18:06:56, editado 1 vez(es)

2[Lua] #4 Aula de programação Empty Re: [Lua] #4 Aula de programação Seg 15 Jun - 21:34:53

DarK_SharK

DarK_SharK
Admin & Fundador
Admin & Fundador

Devias começar a usar as variáveis oficiais de tempo, são muito mais realistas.
Time = Time+1 é a versão mais simples e básica.

http://www.psp-news.org

3[Lua] #4 Aula de programação Empty Re: [Lua] #4 Aula de programação Seg 15 Jun - 21:37:49

Convidad

Anonymous
Convidado

DarK_SharK escreveu:Devias começar a usar as variáveis oficiais de tempo, são muito mais realistas.
Time = Time+1 é a versão mais simples e básica.

Sim concordo, mas para este caso esta variável serve muito bem e a velocidade de transição de imagens pode ser alterada ao gosto do programador.

Claro que há casos em que se tem de usar as versões oficiais.

Cumprimentos

Conteúdo patrocinado



Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos