Tyhmät kysymykset (I/2011)

Voit pyytää apua ohjelmointiongelmiin täältä.
Character
Active Member
Posts: 113
Joined: Thu Nov 27, 2008 3:16 pm

Re: Tyhmät kysymykset (I/2011)

Post by Character » Wed Feb 09, 2011 8:24 pm

Kuinka saan selville objektin tilekordinaatit? :ugeek:
Last edited by Character on Wed Feb 09, 2011 9:12 pm, edited 2 times in total.

User avatar
Viltzu
Guru
Posts: 1132
Joined: Sun Aug 26, 2007 5:45 pm
Location: Alavieska
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by Viltzu » Wed Feb 09, 2011 8:54 pm

Character wrote:Kuinka saan selville objektin tilekordinaatit? :ugeek:
Getmap :lla nyt ainakin saat.
EDIT:

Eikun oho, tuli jokin hassu ajatusvirhe. :D

Last edited by Viltzu on Wed Feb 09, 2011 9:23 pm, edited 4 times in total.

Character
Active Member
Posts: 113
Joined: Thu Nov 27, 2008 3:16 pm

Re: Tyhmät kysymykset (I/2011)

Post by Character » Wed Feb 09, 2011 9:14 pm

Miten muka?? :shock:

User avatar
Viltzu
Guru
Posts: 1132
Joined: Sun Aug 26, 2007 5:45 pm
Location: Alavieska
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by Viltzu » Wed Feb 09, 2011 9:23 pm

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]

User avatar
Requiem for Anthrax
Active Member
Posts: 155
Joined: Wed Dec 03, 2008 9:17 pm
Location: Haukipudas

Re: Tyhmät kysymykset (I/2011)

Post by Requiem for Anthrax » Thu Feb 10, 2011 12:40 pm

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)
Turmankylä
huonoja pelejä, purkkaisia viritelmiä, tylsiä tarinoita.

Character
Active Member
Posts: 113
Joined: Thu Nov 27, 2008 3:16 pm

Re: Tyhmät kysymykset (I/2011)

Post by Character » Thu Feb 10, 2011 5:40 pm

Kiitos paljon :)

User avatar
Execute
Active Member
Posts: 110
Joined: Fri Feb 11, 2011 7:41 pm

Re: Tyhmät kysymykset (I/2011)

Post by Execute » Fri Feb 11, 2011 8:55 pm

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()
SpaceCraft on kokopitkä peli! Nyt ladattavissa! Tsekkaa!

DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 3:18 pm

Re: Tyhmät kysymykset (I/2011)

Post by DJ-Filbe » Fri Feb 11, 2011 9:25 pm

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.

User avatar
Execute
Active Member
Posts: 110
Joined: Fri Feb 11, 2011 7:41 pm

Re: Tyhmät kysymykset (I/2011)

Post by Execute » Sat Feb 12, 2011 11:22 am

Mistä tämän A Stigmatorn voisi ladata? Turvallinen? Millä tehty? Kuka tehnyt? :?:
SpaceCraft on kokopitkä peli! Nyt ladattavissa! Tsekkaa!

DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 3:18 pm

Re: Tyhmät kysymykset (I/2011)

Post by DJ-Filbe » Sat Feb 12, 2011 11:25 am

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.

User avatar
Execute
Active Member
Posts: 110
Joined: Fri Feb 11, 2011 7:41 pm

Tyhmät kysymykset (I/2011)

Post by Execute » Sat Feb 12, 2011 11:34 am

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
SpaceCraft on kokopitkä peli! Nyt ladattavissa! Tsekkaa!

User avatar
Viltzu
Guru
Posts: 1132
Joined: Sun Aug 26, 2007 5:45 pm
Location: Alavieska
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by Viltzu » Sat Feb 12, 2011 11:36 am

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)

User avatar
Execute
Active Member
Posts: 110
Joined: Fri Feb 11, 2011 7:41 pm

Re: Tyhmät kysymykset (I/2011)

Post by Execute » Sat Feb 12, 2011 11:41 am

Löytyihän se! Mutta onkohan tämä varmasti turvallinen? Virukset eivät ole koneelleni tervettulleita. :)
SpaceCraft on kokopitkä peli! Nyt ladattavissa! Tsekkaa!

DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 3:18 pm

Re: Tyhmät kysymykset (I/2011)

Post by DJ-Filbe » Sat Feb 12, 2011 12:05 pm

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

User avatar
Execute
Active Member
Posts: 110
Joined: Fri Feb 11, 2011 7:41 pm

Re: Tyhmät kysymykset (I/2011)

Post by Execute » Sat Feb 12, 2011 12:18 pm

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...
SpaceCraft on kokopitkä peli! Nyt ladattavissa! Tsekkaa!

DJ-Filbe
Devoted Member
Posts: 854
Joined: Sat Feb 20, 2010 3:18 pm

Re: Tyhmät kysymykset (I/2011)

Post by DJ-Filbe » Sat Feb 12, 2011 12:23 pm

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...

User avatar
Execute
Active Member
Posts: 110
Joined: Fri Feb 11, 2011 7:41 pm

Re: Tyhmät kysymykset (I/2011)

Post by Execute » Sat Feb 12, 2011 12:47 pm

Tämä stigmator on hyvä! Mapit toimii! :mrgreen:
SpaceCraft on kokopitkä peli! Nyt ladattavissa! Tsekkaa!

User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: Tyhmät kysymykset (I/2011)

Post by esa94 » Sat Feb 12, 2011 6:09 pm

Execute wrote:Tämä stigmator on hyvä! Mapit toimii! :mrgreen:
Henkilökohtaisesti pidän enemmän TileGenistä joka sentään ei kaadu koko ajan :>

jorre

Re: Tyhmät kysymykset (I/2011)

Post by jorre » Sun Feb 13, 2011 5:43 pm

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

User avatar
valscion
Moderator
Moderator
Posts: 1587
Joined: Thu Dec 06, 2007 8:46 pm
Location: Espoo
Contact:

Re: Tyhmät kysymykset (I/2011)

Post by valscion » Sun Feb 13, 2011 5:49 pm

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.
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com

Locked