[ARHIIV] mängumeistrid
Pole sisse logitud. [Logi sisse ]
Mine lehekülje algusesse
Prinditav versioon | Telli teema e-mailile | Lisa lemmikutesse  
Mitu erinevat objekti teineteise peal
VerteX123
Level 1


Liitunud: 15.9.2010
Postitusi: 8
[EEMAL]




postitati 11.1.2011 14:52 Tsiteeri
Mitu erinevat objekti teineteise peal



Tegelen puzzle maze mänguga Colour Maze. Päris palju olen suutnud suure vaevaga juba valmis teha, kuid nüüd tekkis probleem, millele pole õnnestunud veel lahendust leida..
Räägin siis asjast täpsemalt, kuna see on suhteliselt keerukas süsteem..
Mäng koosneb värvilistest klotsidest(48x48 pikslit) ja tegelane saab liikuda ainult nendel klotsidel, mis värvi ta ise parasjagu on.. (nt kui on kollane, liigub ainult kollastel ja kui saab punase boonuse, saab üle minna punasele värvile, muutub punaseks ja saab ainult seal liikuda)
On ka sellised värviboonused, millel on nool juures, ja siis saab liikuda sellele värvile ainult noolega näidatud suunas..
See toimis kenasti kuni tegin uue boonuseliigi..
Värviboonus, millega saab klotse lükata. Nt kui oled kollasel ja saad punaseboonuse, millega saab lükata, siis punased klotsid loovad enda alla kollased klotsid, et punast klotsi ära lükates ei jääks sinna tühja kohta. Sellele lükkamisboonusele lisaks saab võtta ka suunaboonuse(Nt. punaneboonus+lükkamisboonus+vasakulesuunaboonus=saab lükata punaseid klotse aga ainult vasakult poolt..
Player objekt kontrollib seda niimodi, et kui nt paremale noole klahv on vajutatud siis(kirjutan ikoonide järgi, mitte koodina):
If instance is aligned with grid (kui player on 48x48 positsioonil)
If global.suund=1 (ehk suuna boonus on korjatud)
If global.paremale=0 (suunaboonus pole paremale)
(If global.kollasel=1 (player asub kollastel klotsidel)
(If there is not object KollaneKlots x=48;y=0 (relative)
Start moving in direction(keskel, ehk ei liigu)
else
Start moving in direction (paremale)
)
else
jne..

Probleem on siis nüüd selles, et kuna kollased klotsid on punaste all, siis see kollane klots ikkagi eksisteerib ja player liigub.. vastupidiselt proovisin ka, et kui seal on punane, siis ei liigu ja kui roheline, ei liigu jne.. aga sellest pole ka kasu, kuna nii kui ühte klotsidest pole, siis ikkagi liigub.

Ma loodan, et saite sellest pikast seletusest midagi aru ka :)

Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
Maksud
Level 5
Avatar

Liitunud: 8.4.2010
Postitusi: 184
[EEMAL]




postitati 11.1.2011 15:16 Tsiteeri


On võimalus ju tekitada, see kollane klots ainult siis sinna, kui seda vaja on? See tähendab, et ta ei pea seal koguaeg olema.

Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
xaxk
Level 5
Avatar

Liitunud: 23.9.2007
Postitusi: 219
[EEMAL]




postitati 11.1.2011 16:12 Tsiteeri


Jah, täpselt nii tulekski teha. Kui sul on ühes kohas kasutusel ainult kahed klotsid, siis on veelgi lihtsam. Peale kontrolle ja enne liikumist tekitab punane klots enda alla kollase ja liikudes kustutab liigutud kohast kollase alt ära. Kui on rohkem värve tuleks luua mingi muutuja, mis jätab mällu viimati kustutatud klotsi värvi, ja tekitab selle hiljem sama värvi asemele.
Tsitaat:
Tsitaat: gmmeiter
hirmus lahe oleks mõni hommik kõrbenud haugiga vasta pead saada rõdul.

Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
VerteX123
Level 1


Liitunud: 15.9.2010
Postitusi: 8
[EEMAL]




postitati 11.1.2011 19:33 Tsiteeri


Suured tänud! :) Sain korda. Mul on see mõte endal ka peast läbi käind, aga tundus kuidagi raskesti teostatav, arvasin, et kui klots liikuma hakkab ja samal ajal loob uue klotsi, siis on see ebatäpne ja läheb nihkesse vms.. aga kõik töötab nagu vaja:)
Sellega seoses on üks väike häiriv bug veel.. Kuna need klotsid peavad olema erineva sügavusega, siis step eventis on mul kontrollid, et millal nt kollane depth=1 ja millal depth=0.. see toimib küll aga sel hetkel kui ta uue loob, siis hetkeks vilgub korraks, see klots mis luuakse alla.. Sellest pole kasu kui määran juba objekti atribuutides sügavused.. sest kord on punane kõrgem kui kollane ja kord on vastupidi. Kas on äkki mingit sellist funktsiooni, mis mõjutaks objekti globaalset sügavust ? et juba enne uue klotsi loomist oleks uus sügavus määratud.. Kõik teised võimalikud lahendused on ka oodatud :)

Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
h0lx
Kohalik sitapea
Avatar

Liitunud: 10.4.2006
Postitusi: 1826
[EEMAL]




postitati 12.1.2011 11:19 Tsiteeri


aga tekita objekt nii, et ta on visible=0 ja siis 1 stepi pärast alles tehakse nähtavaks.
http://i47.tinypic.com/x0w83p.gif
Moonwalk
Platform II: -DMI-; H0lx&jorssJõulumäng I: h0lx&jorss
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum

Hetkel loevad seda teemat:
Mitte ühtegi - 1 külaline

Mine lehekülje lõppu





Foorumi algbaas põhineb XMB mootoril, modifitseeritud Valter Pundi poolt
Kodulehekülg on tehtud Valter Pundi poolt vpundi ät gmail punkt komm