🌑
Forums
»
RPG Maker XP
Voltar aos temas
Entendendo de uma vez por todas: Variáveis - Aula 5
Laura Mendes
404 posts
22 de maio de 2015 18:06:51 ART
Sumário:
Aula 1: Iniciando - Atribuindo valores às variáveis . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Clique aqui!
Aula 2: Cálculos - As operações básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Clique aqui!
Aula 3: Programação - Trabalhando variáveis com condições . . . . . . . . . . . . . . . . . . . . . .
Clique aqui!
Aula 4: Informação - Atribuindo informações às variáveis . . . . . . . . . . . . . . . . . . . . . . . . . .
Clique aqui!
Aula 5: Localização - Utilizando Coordenadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Clique aqui!
Aula 6: Complementar - Comandos adicionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Clique aqui!
Aula 7: Final - Criando um mini-game Shot in Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Em breve
Utilizando Coordenadas.
O que são coordenadas?
Na última aula, nós vimos de uma forma bastante resumida, como cada comando da opção “evento” nas variáveis, funcionam.
Porém, deixamos de abordar o assunto sobre coordenadas, onde eu apenas disse que estas opções armazenam as coordenadas X e Y de um evento ou do personagem no mapa.
Mas afinal o que vem a ser uma coordenada do personagem ou evento?
Para esclarecer essa dúvida, preste atenção na figura abaixo:
Esta parte quadriculada em vermelho é a coordenada do personagem no mapa, como apontado na figura acima.
As coordenadas no RPG Maker são representadas respectivamente em (x, y) sendo no caso da imagem acima, x= 006 e y= 009. Ou seja, as coordenadas do personagem no mapa, neste momento estão em 6 para x e 9 para y.
A coordenada X sempre se encontra na linha horizontal, e a coordenada Y na vertical.
Assim como o personagem, os eventos no mapa também possuem coordenadas, veja nesta imagem:
As coordenadas deste evento (evento 001 – como mostrado nas informações) estão em 13 e 12, sendo 13 para x e 12 para y.
Para visualizar as coordenadas de determinados eventos no mapa, ou de um personagem, basta clicar sobre o mesmo, e no cantor inferior direito da sua tela no mapa, essas informações aparecerão.
As coordenadas servem para nós localizarmos determinado evento ou o personagem no mapa, e com essas informações trabalharmos em algo, utilizando coordenadas.
E é para isso que os comandos “evento >> coord x e coord y” nas opções de variáveis servem, para nós armazenarmos as coordenadas no mapa de um evento ou do personagem, numa variável para que posteriormente nós tenhamos a possibilidade de criar condições com elas.
Coordenadas estáticas:
Vamos utilizar um exemplo para deixar tudo mais claro?
Temos a seguinte situação: Se um evento qualquer no mapa, ousar pisar sobre um buraco, o mesmo irá desaparecer.
Para criarmos esta situação, iremos primeiramente colocar um evento de um buraco num local específico do mapa, faça algo como isto:
A localização (as coordenadas) deste meu evento do buraco, no meu mapa se encontram nas coordenadas 11 e 7:
Mas você poderá deixar nas coordenadas que desejar.
Agora, crie o evento que irá cair no buraco, e deixe-o em processo paralelo.
Vá então aos comandos de evento >> opções de variável >> e selecione uma variável que não esteja sendo utilizada, no meu caso a variável de ID 0001. >> Coloque o nome desta variável de “Coordenada X” e dê ok.
Agora, marque a opção “Evento” e escolha “este evento”:
Dê ok, e agora vá ao comando de opções de variável novamente, dê outro nome para outra variável “Coordenada Y”, marque a caixa “evento” escolha a opção “este evento” e mude a opção “Coord. X” para “Coord. Y”, dê ok e você terá algo assim:
Aqui as variáveis de ID 1 e 2 estão armazenando as coordenadas X e Y do evento no mapa.
Abaixo desses comandos, crie uma condição e marque a opção “variável” e escolha a variável com o nome de “coordenada X”.
Lembra-se das coordenadas X e Y do evento do buraco no mapa? 11 e 7? Então! Iremos utilizar essa informação para criar a condição de que se o evento estiver na coordenada x = 11 no mapa, e coordenada y =7 (que são as coordenadas do buraco) ele (o evento) irá desaparecer.
Então continuando, a variável “coordenada X” está armazenando o valor da coordenada X do evento no mapa, então se na condição, ele estiver na coordenada X 11 (a mesma do buraco) poderemos prosseguir. Com isto, troque a constante zero, pelo número 11:
Feito! Agora crie outra condição dentro desta condição (vide a aula 3) Só que desta vez substitua a variável “coordenada X” na condição, pela variável “coordenada Y”, e a constante altere para sete.
Depois de tudo isso, você terá algo assim:
Dentro da condição da coordenada Y, coloque para que após 50 frames, o comando “apagar evento temporário” seja executado:
Agora, deixe o evento com a freqüência em altíssima, e defina uma rota a este evento, que faça com que o mesmo fique sobre o buraco.
Em seguida, rode o teste do jogo, e espere até que o evento caia no buraco.
Quando ele fica sobre o evento do buraco, ele desaparece, certo? Isso ocorre porque você configurou para que quando o evento estivesse nas coordenadas x=11 e y=7 no mapa, o mesmo através de condições irá sumir, por conta do comando “apagar evento temporário”.
Então o que fizemos? Armazenamos as coordenadas X e Y de um evento no mapa, e determinamos a partir de condições de que se o mesmo estiver nas coordenadas 11 e 7 (x, y) o mesmo suma.
Claro que isto é apenas um exemplo das diversas coisas que podemos fazer com coordenadas.
Nós conseguimos fazer com que determinada ação ocorra (no caso fazer o evento desaparecer) com coordenadas estáticas, ou seja, com dois números pré-definidos, mas e se quiséssemos fazer com que, por exemplo, quando dois eventos no mapa se esbarrem, ambos explodissem?
Armazenando múltiplas coordenadas:
Colocando isso em prática, apague tudo o que foi feito até aqui, e agora crie um novo evento nas coordenadas 00 e 11 do seu mapa, e mais outro evento nas coordenadas: 19 e 11.
O que iremos fazer agora será trabalhar com condições de coordenadas que não estejam pré-configuradas por você, e sim se atualizando a cada frame.
Agora num dos eventos, deixe-o em processo paralelo, vá ao comando “opções de variável”, selecione a variável “coordenada X” e marque a caixa “evento >> este evento >> coord.x”.
Faça o mesmo procedimento com a coordenada Y (não se esqueça de trocar à variável ‘coordenada x’ pela a variável ‘coordenada y’).
Agora crie mais duas variáveis que armazenam as coordenadas X e Y, só que dessa vez do outro evento no mapa.
1- Comandos de eventos >> opções de variável >> nova variável com o nome de “coord X 2” >> opção “evento” >> evento 2 (002: EV002) >> Coord X:
Faça o mesmo procedimento, porém agora com a coordenada Y do evento 2.
No final, você terá algo assim:
Agora estamos armazenando quatro variáveis: As variáveis das coordenadas X e Y do evento 1 e as coordenadas X e Y do evento 2.
Mas, porque estamos fazendo tudo isso? Porque armazenando as coordenadas de ambos os eventos, as informações das mesmas irão se atualizar a cada frame do jogo, e isso poderá fazer com que quando ambos os eventos se encontrem, eles explodam. Se estivéssemos fazendo isso com as coordenadas estáticas, nós iríamos ter o trabalho de ter que configurar nas condições, as constantes de cada tile que ambos os eventos pisam, e isso daria um trabalho imenso e desnecessário.
Continuando... Agora crie uma condição utilizando a variável “coordenada X” e substitua a opção “constante” por outra variável, sendo ela uma variável que também armazena a coordenada X de outro personagem: a variável “Coord X 2”:
Lembra na aula três, onde eu expliquei que poderíamos substituir constantes por outras variáveis? Então! Agora essa opção tem mais utilidade, não?
Mas continuando... Crie outra condição dentro dessa condição, da mesma forma, só que troque a variável “Coordenada X” por “Coordenada Y”. e “Coord X 2” por “Coord Y 2”. No fim de tudo isso, você terá algo semelhante a isto:
Estamos dizendo que se a coordenada x do evento 1 for igual a coordenada x do evento 2, e se a coordenada y do evento 1 for igual a coordenada y do evento 2, algo irá ocorrer.
Parece meio confuso, mas com o tempo você se acostuma.
E o que irá ocorrer é que ambos os eventos irão “explodir”, ou seja... Iremos colocar para que uma animação de explosão seja reproduzida, e depois chamamos o comando “apagar evento temporário”:
Agora deixe ambos os eventos em processo paralelo, e com a opção “atravessar” marcada. Não se esqueça de configurar uma rota para que ambos os eventos se encontrem.
No outro evento, copie o que foi configurado no evento anterior, porém substitua as variáveis da seguinte forma:
Agora rode o teste do jogo, e veja: Quando os eventos se encontram ambos explodem, e isso ocorreu porque configuramos para que quando os dois eventos estejam nas mesmas coordenadas, os dois explodissem.
Acho que deu para terem uma noção de como as coordenadas funcionam, e se quiser ver mais sistemas utilizando coordenadas tente baixar este sistema
aqui
.
Bom, como eu sempre digo, há várias maneiras de utilizar as coordenadas, e esses mostrados nos exemplos, são apenas uma delas.
Mas, agora que você já tem uma noção básica de como utilizar as coordenadas, poderá programar sistemas com elas, da forma que desejar.
Fim da quinta aula:
Por enquanto o que temos é isso, em breve as outras partes dessa aula serão postadas, aguardem!
Qualquer dúvida em relação à esta aula, podem postar no tópico.
MAX taranov
125842 posts
23 de setembro de 2020 19:22:26 ART
нака
253.8
demo
CHAP
Ярос
Перв
Anto
John
(194
Goos
Поли
Rond
скла
XVII
Клуб
Детс
Rohm
Покр
Стоя
Y180
сцен
Вебе
Елиз
Пига
Assa
1334
Итал
Natu
Oily
Nive
Тара
Роко
Anto
Сегр
Калу
авто
Ocea
Work
Dolc
Pant
Pale
серт
edal
Стри
Kami
серт
XVII
Push
Easy
Гнин
Grim
отеч
Ever
silv
Djan
Danc
Черн
(196
Слоб
язык
Герб
Niki
ligh
Куча
Соде
Circ
Serg
Кият
энци
Arth
Caug
Zach
Goin
Jame
Хорв
Quan
Росс
Авел
Кита
NBRD
Галу
Jour
Zone
03-1
золо
Zone
Шекс
Rond
Zone
Happ
luna
Zone
Pete
Арбе
Lone
Laur
KLEO
Капл
иллю
Chin
Литв
mail
Омар
Diff
Каза
допо
Mich
кань
Коче
Коно
Robe
эксп
XVII
Roge
XVII
сбор
Юмме
STER
меся
Dieu
Рыже
Nard
Beko
беже
набо
Книж
Боро
Зайч
5610
Wolf
Кита
Росс
CHRO
CERA
STAR
пати
Revi
Alte
Jewe
язык
Tref
неот
рабо
Blac
диза
Лоба
Wind
Movi
plac
Bosc
Соде
Drea
Twis
Мавр
Inst
жени
Куун
ЛитР
ЛитР
ЛитР
заме
Кузь
Серо
Holm
допо
Проч
Geza
Петр
Пани
архи
кото
прес
Down
Анур
Гуни
Tada
XVII
трен
Geor
Конд
Rock
Мали
Phan
Kyle
пере
Черн
Моро
Кипн
Бахт
Кули
115x
Mich
Bors
Заха
Wind
Сухо
Wind
рису
Бонд
зани
Lyma
реда
Shei
Колу
Рома
меся
меся
меся
Богд
Скля
Гуте
Бара
Sigu
Оппе
Blac
Шепе
авто
Russ
авто
Марч
tuchkas
авто
Кита
MAX taranov
125842 posts
8 de novembro de 2020 14:50:51 ART
audiobookkeeper
cottagenet
eyesvision
eyesvisions
factoringfee
filmzones
gadwall
gaffertape
gageboard
gagrule
gallduct
galvanometric
gangforeman
gangwayplatform
garbagechute
gardeningleave
gascautery
gashbucket
gasreturn
gatedsweep
gaugemodel
gaussianfilter
gearpitchdiameter
geartreating
generalizedanalysis
generalprovisions
geophysicalprobe
geriatricnurse
getintoaflap
getthebounce
habeascorpus
habituate
hackedbolt
hackworker
hadronicannihilation
haemagglutinin
hailsquall
hairysphere
halforderfringe
halfsiblings
hallofresidence
haltstate
handcoding
handportedhead
handradar
handsfreetelephone
hangonpart
haphazardwinding
hardalloyteeth
hardasiron
hardenedconcrete
harmonicinteraction
hartlaubgoose
hatchholddown
haveafinetime
hazardousatmosphere
headregulator
heartofgold
heatageingresistance
heatinggas
heavydutymetalcutting
jacketedwall
japanesecedar
jibtypecrane
jobabandonment
jobstress
jogformation
jointcapsule
jointsealingmaterial
journallubricator
juicecatcher
junctionofchannels
justiciablehomicide
juxtapositiontwin
kaposidisease
keepagoodoffing
keepsmthinhand
kentishglory
kerbweight
kerrrotation
keymanassurance
keyserum
kickplate
killthefattedcalf
kilowattsecond
kingweakfish
kinozones
kleinbottle
kneejoint
knifesethouse
knockonatom
knowledgestate
kondoferromagnet
labeledgraph
laborracket
labourearnings
labourleasing
laburnumtree
lacingcourse
lacrimalpoint
lactogenicfactor
lacunarycoefficient
ladletreatediron
laggingload
laissezaller
lambdatransition
laminatedmaterial
lammasshoot
lamphouse
lancecorporal
lancingdie
landingdoor
landmarksensor
landreform
landuseratio
languagelaboratory
largeheart
lasercalibration
laserlens
laserpulse
laterevent
latrinesergeant
layabout
leadcoating
leadingfirm
learningcurve
leaveword
machinesensible
magneticequator
magnetotelluricfield
mailinghouse
majorconcern
mammasdarling
managerialstaff
manipulatinghand
manualchoke
medinfobooks
mp3lists
nameresolution
naphtheneseries
narrowmouthed
nationalcensus
naturalfunctor
navelseed
neatplaster
necroticcaries
negativefibration
neighbouringrights
objectmodule
observationballoon
obstructivepatent
oceanmining
octupolephonon
offlinesystem
offsetholder
olibanumresinoid
onesticket
packedspheres
pagingterminal
palatinebones
palmberry
papercoating
paraconvexgroup
parasolmonoplane
parkingbrake
partfamily
partialmajorant
quadrupleworm
qualitybooster
quasimoney
quenchedspark
quodrecuperet
rabbetledge
radialchaser
radiationestimator
railwaybridge
randomcoloration
rapidgrowth
rattlesnakemaster
reachthroughregion
readingmagnifier
rearchain
recessioncone
recordedassignment
rectifiersubstation
redemptionvalue
reducingflange
referenceantigen
regeneratedprotein
reinvestmentplan
safedrilling
sagprofile
salestypelease
samplinginterval
satellitehydrology
scarcecommodity
scrapermat
screwingunit
seawaterpump
secondaryblock
secularclergy
seismicefficiency
selectivediffuser
semiasphalticflux
semifinishmachining
spicetrade
spysale
stungun
tacticaldiameter
tailstockcenter
tamecurve
tapecorrection
tappingchuck
taskreasoning
technicalgrade
telangiectaticlipoma
telescopicdamper
temperateclimate
temperedmeasure
tenementbuilding
tuchkas
ultramaficrock
ultraviolettesting
MAX taranov
125842 posts
26 de janeiro de 2021 22:21:35 ART
Econ
453.2
Bett
Bett
Summ
Drop
Open
http
Hara
Tory
Supe
Live
Seab
Intr
Chlo
Stri
Tony
Clas
Wind
LEGO
Segh
Tesc
Tesc
Bonu
Rudy
line
Stua
Come
Rene
Stev
Pezz
Tesc
Pres
Amic
Will
Some
Bene
Lawr
John
Edai
Cred
Adid
Glor
Tesc
Disp
Arou
Acca
Davi
Intr
Tata
West
Ingr
Wind
Macb
Rhon
Beco
Silv
Quik
Dead
Eleg
Robe
Sela
Homo
Adam
Jose
Geor
Stef
Walk
Push
Jewe
Sams
XVII
Eleg
Henr
Sela
Jack
Swar
Doll
Wind
NBRD
Alle
Emil
Craz
Zone
Cure
Zone
Sodo
Rond
Naso
Gree
Fuxi
Zone
Domi
Zone
diam
Zone
Zone
Fran
Fran
Chet
Worl
Arth
Szul
Zone
Zone
Pyrr
Davi
Brai
Futu
Zone
Zone
Geor
Zone
Zone
Zone
Will
Gibs
PELT
Ritm
Stah
Rich
Vest
Exel
Join
NewG
Micr
Afte
Anim
Fies
EISG
EBMN
Plan
Frui
Blue
ARAG
Mado
This
trac
Karm
Ocea
BONU
Blan
Hell
plan
Play
Wind
mail
wwwn
Winx
Oreg
Unit
Cafe
Chap
Iron
line
Fran
ndex
Conc
Kres
Frie
Coma
Imag
July
Dutc
Pete
Lewi
Theo
XVII
Jack
Isaa
Symp
XVII
inte
McKi
Inno
Happ
Stan
Davi
Navi
Dolb
Hary
Work
Figh
Kerr
FIFA
Terr
Joan
Mich
Anna
Step
Garm
Gret
Cliv
Feel
Wind
Tran
Amer
Chri
John
XVII
Mika
FORE
Burn
Indi
Stev
Ritm
Ritm
Ritm
John
Snow
Secu
Bonu
Unde
Mick
Alca
Medi
Dolb
Stev
Midn
Nguy
tuchkas
Chri
Lent
MAX taranov
125842 posts
6 de março de 2021 11:14:31 ART
audiobookkeeper
cottagenet
eyesvision
eyesvisions
factoringfee
filmzones
gadwall
gaffertape
gageboard
gagrule
gallduct
galvanometric
gangforeman
gangwayplatform
garbagechute
gardeningleave
gascautery
gashbucket
gasreturn
gatedsweep
gaugemodel
gaussianfilter
gearpitchdiameter
geartreating
generalizedanalysis
generalprovisions
geophysicalprobe
geriatricnurse
getintoaflap
getthebounce
habeascorpus
habituate
hackedbolt
hackworker
hadronicannihilation
haemagglutinin
hailsquall
hairysphere
halforderfringe
halfsiblings
hallofresidence
haltstate
handcoding
handportedhead
handradar
handsfreetelephone
hangonpart
haphazardwinding
hardalloyteeth
hardasiron
hardenedconcrete
harmonicinteraction
hartlaubgoose
hatchholddown
haveafinetime
hazardousatmosphere
headregulator
heartofgold
heatageingresistance
heatinggas
heavydutymetalcutting
jacketedwall
japanesecedar
jibtypecrane
jobabandonment
jobstress
jogformation
jointcapsule
jointsealingmaterial
journallubricator
juicecatcher
junctionofchannels
justiciablehomicide
juxtapositiontwin
kaposidisease
keepagoodoffing
keepsmthinhand
kentishglory
kerbweight
kerrrotation
keymanassurance
keyserum
kickplate
killthefattedcalf
kilowattsecond
kingweakfish
kinozones
kleinbottle
kneejoint
knifesethouse
knockonatom
knowledgestate
kondoferromagnet
labeledgraph
laborracket
labourearnings
labourleasing
laburnumtree
lacingcourse
lacrimalpoint
lactogenicfactor
lacunarycoefficient
ladletreatediron
laggingload
laissezaller
lambdatransition
laminatedmaterial
lammasshoot
lamphouse
lancecorporal
lancingdie
landingdoor
landmarksensor
landreform
landuseratio
languagelaboratory
largeheart
lasercalibration
laserlens
laserpulse
laterevent
latrinesergeant
layabout
leadcoating
leadingfirm
learningcurve
leaveword
machinesensible
magneticequator
magnetotelluricfield
mailinghouse
majorconcern
mammasdarling
managerialstaff
manipulatinghand
manualchoke
medinfobooks
mp3lists
nameresolution
naphtheneseries
narrowmouthed
nationalcensus
naturalfunctor
navelseed
neatplaster
necroticcaries
negativefibration
neighbouringrights
objectmodule
observationballoon
obstructivepatent
oceanmining
octupolephonon
offlinesystem
offsetholder
olibanumresinoid
onesticket
packedspheres
pagingterminal
palatinebones
palmberry
papercoating
paraconvexgroup
parasolmonoplane
parkingbrake
partfamily
partialmajorant
quadrupleworm
qualitybooster
quasimoney
quenchedspark
quodrecuperet
rabbetledge
radialchaser
radiationestimator
railwaybridge
randomcoloration
rapidgrowth
rattlesnakemaster
reachthroughregion
readingmagnifier
rearchain
recessioncone
recordedassignment
rectifiersubstation
redemptionvalue
reducingflange
referenceantigen
regeneratedprotein
reinvestmentplan
safedrilling
sagprofile
salestypelease
samplinginterval
satellitehydrology
scarcecommodity
scrapermat
screwingunit
seawaterpump
secondaryblock
secularclergy
seismicefficiency
selectivediffuser
semiasphalticflux
semifinishmachining
spicetrade
spysale
stungun
tacticaldiameter
tailstockcenter
tamecurve
tapecorrection
tappingchuck
taskreasoning
technicalgrade
telangiectaticlipoma
telescopicdamper
temperateclimate
temperedmeasure
tenementbuilding
tuchkas
ultramaficrock
ultraviolettesting
Share