Page 4 of 50

Re: Tyhmät kysymykset (I/2011)

Posted: Wed Feb 09, 2011 7:24 pm
by Character
Kuinka saan selville objektin tilekordinaatit? :ugeek:

Re: Tyhmät kysymykset (I/2011)

Posted: Wed Feb 09, 2011 7:54 pm
by Viltzu
Character wrote:Kuinka saan selville objektin tilekordinaatit? :ugeek:
Getmap :lla nyt ainakin saat.
EDIT:

Eikun oho, tuli jokin hassu ajatusvirhe. :D


Re: Tyhmät kysymykset (I/2011)

Posted: Wed Feb 09, 2011 8:14 pm
by Character
Miten muka?? :shock:

Re: Tyhmät kysymykset (I/2011)

Posted: Wed Feb 09, 2011 8:23 pm
by Viltzu
Tulikin jokin ajatusvirhe, mutta siis (ObjectX()/tile_leveys+1)*(ObjectY()/tile_korkeus+1) pitäisi vissiin toimia.
EDIT:

Eikun ei ole. >_< Uutta koodia tulosa...

EDIT:

Noniin.

Code: Select all

((ObjectX(obj)+CameraX())/tile_leveys+1)+((ScreenWidth()/tile_leveys+1)*(ObjectY(obj)+CameraY()/tile_korkeus))
Voi olla turhia sulkuja mutta en nyt jaksa siistiä. Ja varmasti saa yksinkertaisemminkin. En edes ole 100 varma tuon toimivuudesta.$
Edit2: Joo ei tuo taidakkaa toimia, joku saa jatkaa ku minä en osaa.[/edit]

Re: Tyhmät kysymykset (I/2011)

Posted: Thu Feb 10, 2011 11:40 am
by Requiem for Anthrax
Character wrote:Kuinka saan selville objektin tilekordinaatit? :ugeek:
Kaivelin wanhoista, hylätyistä projektien kansiosta tälläisen pätkän.

Code: Select all

TILE_X=RoundUp((ObjectX(obj)+(ObjectSizeX(map)/2.0)-ObjectX(map))/Tilen_leveys)
TILE_Y=RoundUp(((ObjectY(map)+(ObjectSizeY(map)/2.0))-ObjectY(obj))/Tilen_korkeus)

Re: Tyhmät kysymykset (I/2011)

Posted: Thu Feb 10, 2011 4:40 pm
by Character
Kiitos paljon :)

Re: Tyhmät kysymykset (I/2011)

Posted: Fri Feb 11, 2011 7:55 pm
by Execute
En saa ladattua tile-mappiani vaikka se on siinä 1.3 muodossa... Koodi tässä:

Code: Select all

Const PAINOVOIMA = -0.1 'painoviman voimakkuus
                        'pienempi->suurempi pv.
                        'positiiviset arvot->
                        'painovoima ylöspäin?!
yPlus#=0                'Tämä hallitsee hyppyä


'Asetetaan ruutu hieman zoomattuun tilaan
SCREEN 320,240,0,cbsizable 
SetWindow "Painovoimaesimerkki",3 'suurenna ruudulle

'JOS PELI TÖKKII TAI PÄTKII TAI NYKII, MUUTA:
' 1) cbSizable -> cbFullScreen
' 2) poista rivi 23

FrameLimit 40 'rajoita nopeutta
'-------------------------------------------------
'lataa kartta, siirrä sitä ylöspäin ja animoi se.
kenttä=LoadMap("Media\jokumap.til","Media\tileset.bmp")
PositionObject kenttä,0,50
PlayObject kenttä,0,0,0.5

'lataa animaatiosarja oikealle, maskaa ja piilota se
oikea=LoadAnimObject("Media\zerorun1.bmp",47,51,0,13)
MaskObject oikea,cbMagenta
ShowObject oikea,OFF
ObjectRange oikea,30,51 'tämä pitää asettaa kaikkiin

'sama vasemmalle
vasen=LoadAnimObject("Media\zerorun2.bmp",47,51,0,13)
MaskObject vasen,cbMagenta
ShowObject vasen,OFF
ObjectRange vasen,30,51 'tämä pitää asettaa kaikkiin

'Tämä on varsinainen pelihahmo, joka piirretään ja
'jota hallitaan. Sille asetetaan törmäys->kartta
'Tätä EI PIILOTETA.
pelihahmo=CloneObject(oikea)
SetupCollision pelihahmo,kenttä,1,4,2
ObjectRange pelihahmo,30,51 'tämä pitää asettaa kaikkiin
'-------------------------------------------------
'Pääsilmukka
Repeat

    vauhti=0 'oletuksena ei liikettä

    If RightKey() Then 
        'juokse oikealle
        PaintObject pelihahmo,oikea 'vaihda kuvaa...
        If maassa Then PlayObject pelihahmo,2,11,0.25
        vauhti=2 'vauhtia oikealle
    ElseIf LeftKey() Then
        'juokse vasemmalle
        PaintObject pelihahmo,vasen 'vaihda kuvaa...
        If maassa Then PlayObject pelihahmo,2,11,0.25
        vauhti=-2 'vauhtia vasemmalle
    Else 
        'pysäytä animaatio, jos ei liikuta
        PlayObject pelihahmo,0
    EndIf
    
    'liikuta pelihahmoa
    TranslateObject pelihahmo,vauhti,yPlus#
    yPlus=yPlus+PAINOVOIMA 'päivitä painovoima    
    
    UpdateGame 'päivitä törmäys
    CloneCameraPosition pelihahmo 'liimaa kamera
    
    maassa=0 'ilmassa jollei toisin käy ilmi
    törmäykset=CountCollisions(pelihahmo)
    'katsotaan tärmätäänkö kattoon tai lattiaan
    For i=1 To törmäykset
        If GetCollision(pelihahmo,i)=kenttä
            'lattia
            If CollisionAngle(pelihahmo,i)=90 Then 
                yPlus#=-1
                maassa=1 'jalat on maassa
            EndIf
            'katto
            If CollisionAngle(pelihahmo,i)=270 Then 
                yPlus#=-1
            EndIf
        EndIf
    Next i 
       
    'jos ollaan ilmassa, näytä toisenlainen kuva
    If törmäykset=0 Then PlayObject pelihahmo,12,0
    
    'HYPPY (vain jos jalat maassa)
    If KeyHit(cbKeyZ) And maassa Then 
        yPlus#=4.5 'voimaa ylös päin
    EndIf

    DrawScreen 'piirrä näyttö

Until EscapeKey()

Re: Tyhmät kysymykset (I/2011)

Posted: Fri Feb 11, 2011 8:25 pm
by DJ-Filbe
Execute wrote:En saa ladattua tile-mappiani vaikka se on siinä 1.3 muodossa... Koodi tässä:

Code: Select all

Const PAINOVOIMA = -0.1 'painoviman voimakkuus
                        'pienempi->suurempi pv.
                        'positiiviset arvot->
                        'painovoima ylöspäin?!
yPlus#=0                'Tämä hallitsee hyppyä


'Asetetaan ruutu hieman zoomattuun tilaan
SCREEN 320,240,0,cbsizable 
SetWindow "Painovoimaesimerkki",3 'suurenna ruudulle

'JOS PELI TÖKKII TAI PÄTKII TAI NYKII, MUUTA:
' 1) cbSizable -> cbFullScreen
' 2) poista rivi 23

FrameLimit 40 'rajoita nopeutta
'-------------------------------------------------
'lataa kartta, siirrä sitä ylöspäin ja animoi se.
kenttä=LoadMap("Media\jokumap.til","Media\tileset.bmp")
PositionObject kenttä,0,50
PlayObject kenttä,0,0,0.5

'lataa animaatiosarja oikealle, maskaa ja piilota se
oikea=LoadAnimObject("Media\zerorun1.bmp",47,51,0,13)
MaskObject oikea,cbMagenta
ShowObject oikea,OFF
ObjectRange oikea,30,51 'tämä pitää asettaa kaikkiin

'sama vasemmalle
vasen=LoadAnimObject("Media\zerorun2.bmp",47,51,0,13)
MaskObject vasen,cbMagenta
ShowObject vasen,OFF
ObjectRange vasen,30,51 'tämä pitää asettaa kaikkiin

'Tämä on varsinainen pelihahmo, joka piirretään ja
'jota hallitaan. Sille asetetaan törmäys->kartta
'Tätä EI PIILOTETA.
pelihahmo=CloneObject(oikea)
SetupCollision pelihahmo,kenttä,1,4,2
ObjectRange pelihahmo,30,51 'tämä pitää asettaa kaikkiin
'-------------------------------------------------
'Pääsilmukka
Repeat

    vauhti=0 'oletuksena ei liikettä

    If RightKey() Then 
        'juokse oikealle
        PaintObject pelihahmo,oikea 'vaihda kuvaa...
        If maassa Then PlayObject pelihahmo,2,11,0.25
        vauhti=2 'vauhtia oikealle
    ElseIf LeftKey() Then
        'juokse vasemmalle
        PaintObject pelihahmo,vasen 'vaihda kuvaa...
        If maassa Then PlayObject pelihahmo,2,11,0.25
        vauhti=-2 'vauhtia vasemmalle
    Else 
        'pysäytä animaatio, jos ei liikuta
        PlayObject pelihahmo,0
    EndIf
    
    'liikuta pelihahmoa
    TranslateObject pelihahmo,vauhti,yPlus#
    yPlus=yPlus+PAINOVOIMA 'päivitä painovoima    
    
    UpdateGame 'päivitä törmäys
    CloneCameraPosition pelihahmo 'liimaa kamera
    
    maassa=0 'ilmassa jollei toisin käy ilmi
    törmäykset=CountCollisions(pelihahmo)
    'katsotaan tärmätäänkö kattoon tai lattiaan
    For i=1 To törmäykset
        If GetCollision(pelihahmo,i)=kenttä
            'lattia
            If CollisionAngle(pelihahmo,i)=90 Then 
                yPlus#=-1
                maassa=1 'jalat on maassa
            EndIf
            'katto
            If CollisionAngle(pelihahmo,i)=270 Then 
                yPlus#=-1
            EndIf
        EndIf
    Next i 
       
    'jos ollaan ilmassa, näytä toisenlainen kuva
    If törmäykset=0 Then PlayObject pelihahmo,12,0
    
    'HYPPY (vain jos jalat maassa)
    If KeyHit(cbKeyZ) And maassa Then 
        yPlus#=4.5 'voimaa ylös päin
    EndIf

    DrawScreen 'piirrä näyttö

Until EscapeKey()
Jos valittaa "Can't load map" :ia niin tee kartta vaikka A Stigmatorilla.

Re: Tyhmät kysymykset (I/2011)

Posted: Sat Feb 12, 2011 10:22 am
by Execute
Mistä tämän A Stigmatorn voisi ladata? Turvallinen? Millä tehty? Kuka tehnyt? :?:

Re: Tyhmät kysymykset (I/2011)

Posted: Sat Feb 12, 2011 10:25 am
by DJ-Filbe
Execute wrote:Mistä tämän A Stigmatorn voisi ladata? Turvallinen? Millä tehty? Kuka tehnyt? :?:
Latauslinkkiä ei ole tarjota. Coolbasicilla tehty, turvallinen, Astigman tekemä (nimikin jo kertoo). Turvallisuudesta vielä, että joskus tulee mysteerimaveja. Kannattaa tallennella karttaa vähän välein.

Tyhmät kysymykset (I/2011)

Posted: Sat Feb 12, 2011 10:34 am
by Execute
Noh voisihan sen ladatakin... Tarvitsisin kylläkin jostain linkin josta ladata... :ugeek: Kun en osaa ladata sellaista jota ei voi ladata! :lol: Koska sitä ei löydy! :D

Re: Tyhmät kysymykset (I/2011)

Posted: Sat Feb 12, 2011 10:36 am
by Viltzu
Execute wrote:Noh voisihan sen ladatakin... Tarvitsisin kylläkin jostain linkin josta ladata... :ugeek: Kun en osaa ladata sellaista jota ei voi ladata! :lol: Koska sitä ei löydy! :D
Linkkiä emme sinulle anna. Foorumeilla on hakutoiminto. (Ja sillä kyllä löytyy)

Re: Tyhmät kysymykset (I/2011)

Posted: Sat Feb 12, 2011 10:41 am
by Execute
Löytyihän se! Mutta onkohan tämä varmasti turvallinen? Virukset eivät ole koneelleni tervettulleita. :)

Re: Tyhmät kysymykset (I/2011)

Posted: Sat Feb 12, 2011 11:05 am
by DJ-Filbe
Execute wrote:Löytyihän se! Mutta onkohan tämä varmasti turvallinen? Virukset eivät ole koneelleni tervettulleita. :)
Se on vaarallinen troijalainen. Älä missään nimessä lataa. Äskeinen oli valehtelua...
huomasit varmaan sarkasmin

Re: Tyhmät kysymykset (I/2011)

Posted: Sat Feb 12, 2011 11:18 am
by Execute
Apua troijalainen!!! Latasin sen!!! Onneksi en vielä asentanut!!! Koneeni on toisen ihmisen vallassa!!! Auttakaa! :cry: Plase help me! :cry:

Tietenkin huomasin sarkasmin... Enhän minä mikään sokea ole...

Re: Tyhmät kysymykset (I/2011)

Posted: Sat Feb 12, 2011 11:23 am
by DJ-Filbe
Execute wrote:Apua troijalainen!!! Latasin sen!!! Onneksi en vielä asentanut!!! Koneeni on toisen ihmisen vallassa!!! Auttakaa! :cry: Plase help me! :cry:

Tietenkin huomasin sarkasmin... Enhän minä mikään sokea ole...
Wasn't so fun...

Re: Tyhmät kysymykset (I/2011)

Posted: Sat Feb 12, 2011 11:47 am
by Execute
Tämä stigmator on hyvä! Mapit toimii! :mrgreen:

Re: Tyhmät kysymykset (I/2011)

Posted: Sat Feb 12, 2011 5:09 pm
by esa94
Execute wrote:Tämä stigmator on hyvä! Mapit toimii! :mrgreen:
Henkilökohtaisesti pidän enemmän TileGenistä joka sentään ei kaadu koko ajan :>

Re: Tyhmät kysymykset (I/2011)

Posted: Sun Feb 13, 2011 4:43 pm
by jorre
Hei vaan kaikille.

Olen nyt ladannut CB:n koneelle, ja alkanut vähän kokeilemaan sitä. Tein nuo kaikki alkuharjotukset läpi ja osaankin suhteellisen hyvin perusasiat (eli huonosti), mutta nyt minulla on ongelma:

Yritän tehdä harjoitukseksi peliä, jossa ohjataan ruudun alareunassa alusta, joka ampuu vastaantulevia vihuja. Ongelmana on kuitenkin se että KAIKKI vihut katoavat automaattisesti, jos ammun aluksellani. Liitän käyttämäni koodin tähän alle, jos se helpottaa...:

Code: Select all

For luoti.AMMUS = Each AMMUS
        For vihol.VIHO = Each VIHO
            If luoti <> vihol Then
                DeleteObject vihol\vih
                Delete vihol
            EndIf
        Next vihol
    Next luoti

Re: Tyhmät kysymykset (I/2011)

Posted: Sun Feb 13, 2011 4:49 pm
by valscion
jorre wrote:Hei vaan kaikille.

Olen nyt ladannut CB:n koneelle, ja alkanut vähän kokeilemaan sitä. Tein nuo kaikki alkuharjotukset läpi ja osaankin suhteellisen hyvin perusasiat (eli huonosti), mutta nyt minulla on ongelma:

Yritän tehdä harjoitukseksi peliä, jossa ohjataan ruudun alareunassa alusta, joka ampuu vastaantulevia vihuja. Ongelmana on kuitenkin se että KAIKKI vihut katoavat automaattisesti, jos ammun aluksellani. Liitän käyttämäni koodin tähän alle, jos se helpottaa...:

Code: Select all

For luoti.AMMUS = Each AMMUS
        For vihol.VIHO = Each VIHO
            If luoti <> vihol Then
                DeleteObject vihol\vih
                Delete vihol
            EndIf
        Next vihol
    Next luoti
Koodissasi on se ongelma, että tarkistat vain ovatko silmukassa läpikäymäsi objektit toisia kuin luoti-objekti. Sinun tulisi tarkistaa törmäykset luoti-objektin kanssa vaikkapa komennon Distance2-avulla. Katso manuaalista Distance2-esimerkki.