[ARHIIV] mängumeistrid
Pole sisse logitud. [Logi sisse ]
Mine lehekülje algusesse
Prinditav versioon | Telli teema e-mailile | Lisa lemmikutesse  
Õpetus: Maze Game
pr0str33t
Level 6


Liitunud: 28.3.2010
Postitusi: 238
[EEMAL]




info.gif postitati 7.1.2011 19:31 Tsiteeri
Õpetus: Maze Game



Terv.. Teen siis algajatele väikese õpetuse , kuidas teha Maze game :)

1. Peab olema muidugi Game maker ( vahet pole kas lite või pro )
2. ava Game maker.
3. Tee endale playeri sprite, nimeta see ntks spr_player
playeri sprite alla tee kõik 4 suunda ( parem , vasak, üles , alla )
Uue sprite loomiseks vajuta seda nuppu (( roosa ruut ümber )):
http://www.upload.ee/image/1036160/newsprite.png
4. oletame et on tehtud kõik 4 suunda / või kopitud, nüüd tee üks seina sprite, ning nimeta see spr_sein.
5. tee samuti ka raha sprite.. nimeta see näiteks spr_raha..
6. Tee objekt , nimeks pane obj_player, ning spriteks vali spr_player.
objekti saab teha, kui vajutad siia nupule (( roosa ruut ümber )):
http://www.upload.ee/image/1036185/newsprite.png
7. Tee uus STEP event.
STEP eventi actions alla tee uus script!
ning sinna kirjuta see kood :

Kood:
image_speed=0
if keyboard_check(ord('D'))
{
sprite_index=spr_player
image_index=3
x+=4 }
if keyboard_check(ord('A'))
{
sprite_index=spr_player
image_index=2
x-=4
}
if keyboard_check(ord('W'))
{
sprite_index=spr_player
image_index=0
y-=4
}
if keyboard_check(ord('S'))
{
sprite_index=spr_player
image_index=1
y+=4
}

-------------------------------
Seletus :
Kood:

if keyboard_check(ord('W'))
{
sprite_index=spr_player
image_index=0
y-=4
}

((jne))
on siis liikumise kood, ehk kui vajutan W liigub otse 4 pikslit, ning spriteks spr player, kust siis pilt on 0 ( ehk kõige esimene ) .
S, A, D'ga samamoodi, lihtsalt pilt sprites on vastav siis .

ning see esimene rida : image_speed = 0 , see sätib piltide kiiruse 0, et kui sa seisad, siis ta ei vahetaks pilte, vaid jääb see kuhu poole liikusid!
8. Tee uus objekt : obj_sein, spriteks vali spr_sein, ning tee objekti obj_sein alt solid kasti linnuke.
9.Tee uus action obj_playeri actionisse : Collision with obj_sein, ning sinna kirjuta :
Kood:

x=xprevious
y=yprevious

------------
seletus : see ei lase sul seintest läbi kõndida.
10. Tee uus objekt, nimeta obj_raha, spriteks vali spr_raha.
11. Tee veel üks objekt, obj_ctrl( Tee persistent kasti linnuke ), ning tee obj_ctrl alla create event.
12. Tee create eventi alla uus script..
kirjuta sinna
Kood:

points=0;

see seab punktid nulli.
13.Nüüd, tee draw event, ning selle alla script, kuhu kirjuta:
Kood:

draw_text(64,32,"punktid: ");

draw_text(128,32,points);

see kirjutab siis teksti ' punktid : ' ning sinna järgi punktide arvu.
14.võta lahti obj_raha, tee create event ning uus script , sinna lisa :
Kood:

lisa_punkte=10;

ära solid kasti linnukest pane, persistent kasti ka mitte !
15. võta uuesti lahti obj_player. ning lisa collison obj_rahaga , sinna actions alla script ja kirjuta :
Kood:

obj_ctrl.points+=obj_points.lisa_punkte;

instance_destroy();

16:samuti üleval ringid koos kirjaga: Self, Other, Object.
pane otherist paremalpool asuvasse ringi täpp.
17. tehke maze stiilis room , pange obj_ctrl nurka, ja testige ! :)
18.kui testitud, erroreid ei tulnud, liikumine ja raha korjamine töötab. võtke lahti obj_ctrl,tehke step event ning stepi pange see kood :
Kood:

if !instance_exists(obj_raha)
{
room_goto_next();
}

ning tehke ruume juurde .
----end----
[[ õpetuses pole vaenlasi ja boonuseid, sest see on BASIC ]]

kui ütlesin Script siis mõtlesin selle all excecute piece of code .
kui miski arusaamatuks jäi, siis öelge !
tundub et see ainuke maze õpetus, niiet ärge maha võtke ?? :D

Päkapikk põrgus v0.3 Engine ~55% valma ...

Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
Bproof
Level 6
Avatar

Liitunud: 23.5.2010
Postitusi: 262
[EEMAL]




postitati 7.1.2011 20:15 Tsiteeri


Enda välja mõeldud ?

Kui oleks sinu oma poleks mäng ju segakeeleline ?
Kood:

obj_ctrl.points+=obj_points.p_add;

variabled inglis keeles ja sprited/objetkid eesti keelest .. ( obj_raha näiteks ) nagu oleks teise engine ja enda keeleks muutnud siis

Algajatele segane ma usun..

Vaata kasutaja profiili Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum Vaata kasutaja MSN-i
h0lx
Kohalik sitapea
Avatar

Liitunud: 10.4.2006
Postitusi: 1826
[EEMAL]




postitati 7.1.2011 21:24 Tsiteeri


Tsitaat:
Tsitaat: pr0str33t
Kood:

y+=0

x+=0

y-=0

x-=0


http://rob.nu/wp-content/uploads/2009/09/facepalm7.jpg

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
Bproof
Level 6
Avatar

Liitunud: 23.5.2010
Postitusi: 262
[EEMAL]




postitati 7.1.2011 21:54 Tsiteeri


Tsitaat:
Tsitaat: h0lx
Tsitaat:
Tsitaat: pr0str33t
Kood:

y+=0

x+=0

y-=0

x-=0


http://rob.nu/wp-content/uploads/2009/09/facepalm7.jpg


xD

Kood:

x=xprevious
y=yprevious

Vaata kasutaja profiili Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum Vaata kasutaja MSN-i
batoonike



Liitunud: 2.4.2005
Postitusi: 378
[EEMAL]




postitati 7.1.2011 22:07 Tsiteeri


1.Stepis ei pea sprite_indexit muutma, sest see on alati sama.

2. collisionit seinaga ei saa nii teha.

3. Lisa punkt, et kontrollija objekt on ainult esimeses levelis. muidu neid tuleb igas levelis juurde kui tüübid uusi leveleid teevad samamoodi.

4. objektide nimesid ma nii pikaks ei ajaks. Endal on tavaliselt mehikesed "m" nagu "mees" või "s" nagu "soldat". Kui palju erinevaid siis s1,s2. Kui sa skripti kirjutad ja tahad muutuja nimeks panna objekti nime siis on teksti värvist kohe näha, ehk probleemi pole. Suurema paranoilisuse puhul võibolla o_m ja o_s vms.

Muidu hea kodanikualgatus!

@Pbroof segakeelsus: sa peaks mu source lugema :D stiilis
add_pappi((vastane).djengi * rahamultiplier); Ei õige märkus... Kood peaks olema ühes keeles ja ühes stiilis jne.
Aktsioon III: batoonike<br>Kambakas II: batoonike, whitepower1, tenno11
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
h0lx
Kohalik sitapea
Avatar

Liitunud: 10.4.2006
Postitusi: 1826
[EEMAL]




postitati 7.1.2011 22:43 Tsiteeri


Lühikesed nimetused aga kommenteeri kindlasti, mõtle, mis siis saab, kui Sa seda koodi 2 kuu pärast vaatad.
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
batoonike



Liitunud: 2.4.2005
Postitusi: 378
[EEMAL]




postitati 7.1.2011 23:20 Tsiteeri


Tegelt probleem tuli sellest ilmselt, et kui liikujaobjektil on collision seinaga siis seal peab MIDAGI olema. Kui midagi ei ole siis läheb seinast läbi. Kui midagi on ja sein on solid siis ei lähe seinast läbi. A sa võid sinna koodi panna aint kommentaariga et //siin peab midagi olema.
Aktsioon III: batoonike<br>Kambakas II: batoonike, whitepower1, tenno11
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
pr0str33t
Level 6


Liitunud: 28.3.2010
Postitusi: 238
[EEMAL]




postitati 8.1.2011 10:50 Tsiteeri


mnja.. muideks , õpetus on minu tehtud bproof, kes keelab inglise keelseid kasutada ?? sina ? ei usu ;)
noo sorry siis kui miski ei meeldi tõesti :D

Päkapikk põrgus v0.3 Engine ~55% valma ...

Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
batoonike



Liitunud: 2.4.2005
Postitusi: 378
[EEMAL]




postitati 8.1.2011 10:57 Tsiteeri


Kas sa kavatsed ilmselged vead ära parandada?
Aktsioon III: batoonike<br>Kambakas II: batoonike, whitepower1, tenno11
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
Bproof
Level 6
Avatar

Liitunud: 23.5.2010
Postitusi: 262
[EEMAL]




postitati 8.1.2011 11:25 Tsiteeri


Tsitaat:
Tsitaat: pr0str33t
mnja.. muideks , õpetus on minu tehtud bproof, kes keelab inglise keelseid kasutada ?? sina ? ei usu ;)
noo sorry siis kui miski ei meeldi tõesti :D


Kood:

14.võta lahti obj_raha, tee create event ning uus script , sinna lisa :
Kood:

p_add=10;

ära solid kasti linnukest pane, persistent kasti ka mitte !

õpetus on ALGAJATELE , su variable on hunjamunja, ükski algaja ei saa aru misasi on p_add kui pole isegi selgitust ????
Kes keelab ? keegi ei keela lihtsalt et su õpetus üsna 0 lähedal, sulle öeldi vead ette aga ikka ei parandand ära,ja muuda need variabled siin nagu ära, p_add asemele pane näiteks punkte_juurde vms et algajad aru saavad

Vaata kasutaja profiili Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum Vaata kasutaja MSN-i
pr0str33t
Level 6


Liitunud: 28.3.2010
Postitusi: 238
[EEMAL]




postitati 9.1.2011 12:32 Tsiteeri


panin p_add asemele lisa_punkte vms , ning selle x+=0 jms asemele :
x=xprevious
y=yprevious

rahul pojud ? :D

Päkapikk põrgus v0.3 Engine ~55% valma ...

Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
Bproof
Level 6
Avatar

Liitunud: 23.5.2010
Postitusi: 262
[EEMAL]




postitati 9.1.2011 13:03 Tsiteeri


rahul jah, nüüd sellest kasu ka,
ma huvipärast küsn kust sa selle võtsid :D ? Ise mõtlesid välja ?
Kood:

x+=0
x-=0
y+=0
y-=0

ja sul lollid vead sees ...
Kood:
((jne))
on siis liikumise kood, ehk kui vajutan W liigub otse 4 pikslit, ning spriteks spr player, kust siis pilt on 0 ( ehk kõige esimene ) .


sa saad aru mis otse tähendab, ja meie ka ( enamus ma usun) aga algajad kes siis essat mängu teevad ja loevad et otse nad ei pruugi aru saada, otse on ju otse :D mitte üles

Vaata kasutaja profiili Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum Vaata kasutaja MSN-i
pr0str33t
Level 6


Liitunud: 28.3.2010
Postitusi: 238
[EEMAL]




postitati 9.1.2011 15:47 Tsiteeri


nojuhtub :D
Päkapikk põrgus v0.3 Engine ~55% valma ...

Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
jorss
Level 12


Liitunud: 25.1.2005
Postitusi: 951
[EEMAL]




postitati 9.1.2011 16:38 Tsiteeri


ärge kasutage lühikesi nimetusi! kommenteerimine ei aita, sest kommentaarid olid gamemakeris alati kuskil peidus ja silme ees olevad erinevad tähed on üsna väheütlevad, eriti peale mõnda kuud.
auto objekt olgu ikka "auto", mitte "a", sest "a" võib tähendada ka auku, arvutit, aju ja palju muud.

kirjutage kõik sõnad korralikult välja, isegi liitsõnad, sest enamus ajast vaevalt, et kulub koodi kirjutamisele, vaid mõtlemisele, mida kirjutada. jube rõve oleks kogu aeg vaadata, mida tähendab s10.
Platform II: -DMI-; H0lx&jorssJõulumäng I: h0lx&jorssKambakas I: jorss, Perfoon
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
pr0str33t
Level 6


Liitunud: 28.3.2010
Postitusi: 238
[EEMAL]




postitati 9.1.2011 17:29 Tsiteeri


Bproof, selle mõtlesin ma jah ise :D
Jorss, ma tavaliselt ei kasutagi lühikesi nimesi ;) meeldivad pikemad, siis ei pea igakord vaatama mis spritega tegu on kui nimi on välja kirjutatud.

Päkapikk põrgus v0.3 Engine ~55% valma ...

Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
batoonike



Liitunud: 2.4.2005
Postitusi: 378
[EEMAL]




postitati 9.1.2011 22:23 Tsiteeri


Neid "s" ja "m" ja "k" ja "g" kasutab siis, kui ongi ala 2-3 olulist objekti. Ala "kontroller " on "g", "mees" on "m" ja ülejäänd on pikad sõnad. Aga kuna 90% koodist tegeleb g ja m-ga siis tuleb minu arust suht palju lihtsam. Muidugi kui keegi teine ka kunagi seda koodi peaks lugema siis vist ei tasu väga lühendada.
Aktsioon III: batoonike<br>Kambakas II: batoonike, whitepower1, tenno11
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
InCreator
baksjor!
Avatar

Liitunud: 18.12.2005
Postitusi: 1230
[EEMAL]




postitati 10.1.2011 00:11 Tsiteeri


üle nelja tähe objekti nime on kurjast, kui just ei ole vähekasutatav, lihtsalt-ruumi asi, nagu ammo_leegiheitja

kontroller alati 1-täheline. mul 'g'

A window is technically a wallhack.
Emo2: InCreator
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