auton sisään meneminen

Voit pyytää apua ohjelmointiongelmiin täältä.
Post Reply
aloittelijaC

auton sisään meneminen

Post by aloittelijaC »

Olen vasta aloittelija enkä osaa paljon mitään mutta miten saa tehtyä silleen että ukko pääsee autoon sisään niin kuin GTA:ssa?
Oon yrittänyt ehtiä foorumeilta mutta en ole löytänyt. Ja ne ukot ja autot on toteutettu objekteilla. :)
Ris
Active Member
Posts: 142
Joined: Wed Jul 02, 2008 8:27 pm

Re: auton sisään meneminen

Post by Ris »

Tekaisin nopeasti tälläisen. Niin ja CoolBasicin ohjetiedostoa kannattaa lukea. Niin ja tuo GTA:n tapainen autoon meno kannattaa tehdä animaationa. Mutta se on jo toinen juttu. Vinkiksi kuitenkin komennot: Loadanimobject , PlayObject ja StopObject

Code: Select all

ObjAuto=LoadObject("media/car.bmp")

ObjPelaaja=LoadObject("media/guy.bmp",36)
PositionObject ObjPelaaja,30,100

Repeat 

    If KeyDown(28) Then 'Jos painetaan enteriä
    
        PointObject ObjPelaaja,ObjAuto ' Osoitetaan kohti ObjAutoa
        MoveObject ObjPelaaja,1 'Liikutetaan objektia pelaaja kohti autoa
        
        RotateObject ObjPelaaja,GetAngle2(ObjPelaaja,ObjAuto) 'Käännetään pelaaja auton kulmaan
        
        If ObjectsOverlap (ObjPelaaja,ObjAuto) 'Jos pelaaja ja auto objekti koskettavat toisiaan
            CloneObjectPosition ObjPelaaja,ObjAuto 'niin kloonataan pelaajan paikka auton paikkaan
            ShowObject ObjPelaaja,OFF ' ja piilotetaan pelaaja
        EndIf 
    EndIf
    
    DrawScreen 
    
Forever 
Character wrote: Sain tehtyä jo silleen että se ukko menee autoon sisään
Osa tuosta sinun koodista on minun tekemääni, kuten postistani näkee, eli ei kannata väittää että olet sen itse tehnyt.
Kiitos.
Last edited by Ris on Fri Dec 26, 2008 3:15 pm, edited 1 time in total.
aloittelijaC

Re: auton sisään meneminen

Post by aloittelijaC »

Kiitos. :D
Character
Active Member
Posts: 113
Joined: Thu Nov 27, 2008 2:16 pm

Re: auton sisään meneminen

Post by Character »

Anteeksi tuplapostaus rekisteröidyin. Sain tehtyä jo silleen että se ukko menee autoon sisään mutta en millään keksi miten sen
saisi ulos sieltä kun painaa uudestaan enteriä. Tässä koodi:

Code: Select all

FrameLimit 40

ObjAuto=LoadObject("media/car.bmp",72)

ObjPelaaja=LoadObject("media/guy.bmp",72)
PositionObject ObjPelaaja,30,100

Obj=ObjPelaaja

autossa=False

Repeat 

    If LeftKey() Then TurnObject Obj,2
    If RightKey() Then TurnObject Obj, -2 
    If UpKey() Then MoveObject Obj, 5
    If DownKey() Then MoveObject Obj, -5

    If autossa=False And KeyDown(28) Then 'Jos painetaan enteriä
    
        PointObject ObjPelaaja,ObjAuto ' Osoitetaan kohti ObjAutoa
        MoveObject ObjPelaaja,5 'Liikutetaan objektia pelaaja kohti autoa
        
        RotateObject ObjPelaaja,GetAngle2(ObjPelaaja,ObjAuto) 'Käännetään pelaaja auton kulmaan
        
        If ObjectsOverlap (ObjPelaaja,ObjAuto) And KeyHit(28) Then 'Jos pelaaja ja auto objekti koskettavat toisiaan
            CloneObjectPosition ObjPelaaja,ObjAuto 'niin kloonataan pelaajan paikka auton paikkaan
            ShowObject ObjPelaaja,OFF ' ja piilotetaan pelaaja
            Obj=ObjAuto
            autossa=True
        EndIf 
    EndIf
    
    DrawScreen 
    
Forever
Aaponator

Re: auton sisään meneminen

Post by Aaponator »

keyhit, showobject, position object
Jonhu
Active Member
Posts: 186
Joined: Mon Aug 04, 2008 5:45 pm

Re: auton sisään meneminen

Post by Jonhu »

tässä koodi.. Toivottavasti ymmärrät ilaman kommentointia..
Jos seuraavaksi kysyt miten saat kameran seuraamaan autoa / ukkoa katso komento CloneCameraPosition (hienommankin ulostulon voisi väsätä, jos sijoittasi ukon aina esim. kuljettajan paikan viereen)...

EDIT: virhe korjattu :oops: , mutta kysymyksenähän oli vain autosta poistuminen, eikä samaan positioon laittaminen sen jälkeen.. :)

Code: Select all

FrameLimit 40

ObjAuto=LoadObject("media/car.bmp",72)

ObjPelaaja=LoadObject("media/guy.bmp",72)
PositionObject ObjPelaaja,30,100

Obj=ObjPelaaja

autossa=False

Repeat

    If LeftKey() Then TurnObject Obj,2
    If RightKey() Then TurnObject Obj, -2
    If UpKey() Then MoveObject Obj, 5
    If DownKey() Then MoveObject Obj, -5

    If autossa=False And KeyDown(28) Then 'Jos painetaan enteriä
   
        PointObject ObjPelaaja,ObjAuto ' Osoitetaan kohti ObjAutoa
        MoveObject ObjPelaaja,5 'Liikutetaan objektia pelaaja kohti autoa
       
        RotateObject ObjPelaaja,GetAngle2(ObjPelaaja,ObjAuto) 'Käännetään pelaaja auton kulmaan
       
        If ObjectsOverlap (ObjPelaaja,ObjAuto) And KeyHit(28) Then 'Jos pelaaja ja auto objekti koskettavat toisiaan
            CloneObjectPosition ObjPelaaja,ObjAuto 'niin kloonataan pelaajan paikka auton paikkaan
            ShowObject ObjPelaaja,OFF ' ja piilotetaan pelaaja
            Obj=ObjAuto
            autossa=True
            ClearKeys
        EndIf
    EndIf
    
    If autossa=True And KeyHit(28) Then 
        autossa=False
        CloneObjectPosition ObjPelaaja,Obj
        ShowObject ObjPelaaja,ON
        Obj=ObjPelaaja
        ClearKeys
    EndIf
   
    DrawScreen
   
Forever
Last edited by Jonhu on Fri Nov 28, 2008 6:22 pm, edited 2 times in total.
Character
Active Member
Posts: 113
Joined: Thu Nov 27, 2008 2:16 pm

Re: auton sisään meneminen

Post by Character »

Joo sain sen toimimaan. Tuo clearkeys sieltä uupuikin. Kiitos paljon! 8-)
EDIT:

Jonhu: Lisätty on.

Last edited by Character on Fri Nov 28, 2008 6:44 pm, edited 1 time in total.
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: auton sisään meneminen

Post by phons »

Haha pieni korjattavissa oleva ongelma tuossa koodissasi Jonhu. Jos tulet autosta ulos ukkeli on samassa paikassa mistä se meni sisäänkin.
Image
Jonhu
Active Member
Posts: 186
Joined: Mon Aug 04, 2008 5:45 pm

Re: auton sisään meneminen

Post by Jonhu »

Jos tulet autosta ulos ukkeli on samassa paikassa mistä se meni sisäänkin.
Oops.. En tarkastanut tarpeeksi suurella ruudulla tuota.. Mutta kysymyksenä oli autosta poistuminen, eikä sen jälkeinen sijoitus yms. xD

Lisää siihen if lauseeseen CloneObjectPosition ObjPelaaja,Obj, niin pitäisi toimia..
Post Reply