Objektit : funktiot

COUNTCOLLISIONS


   KUVAUS

Laskee montako törmäysilmiötä objekti kohtasi sitten viime ruudun piirtämisen (tai UpdateGamen).

Käytä tulosta päästäksesi käsiksi kaikkiin törmäyksiin. Voit lukea jokaisen törmäyksen tapahtumapaikan, tapahtumakulman ja sen toisen objektin, joka osallistui törmäykseen. Voit käyttää funktiota myös määrittelemään tapahtuiko törmäyksiä ylipäätänsä ollenkaan.

Funktio palauttaa kokonaisluvun. Nollan, jos törmäyksiä ei tapahtunut.

   KÄYTTÖ
COUNTCOLLISIONS (objektimuuttuja)

  • objektimuuttuja = Objekti, jonka törmäykset tarkistetaan.

  • Katso myös: COLLISIONX, COLLISIONY, COLLISIONANGLE, GETCOLLISION

       ESIMERKKI
    FrameLimit 40
    DrawToWorld ON

    'Load the map
    map=LoadMap("Media\cdm2.til","Media\tileset.bmp")

    'Load player
    soldier=LoadObject("Media\soldier.bmp",72)
    ObjectRange soldier,32

    'Load dumb immobile bot
    bot=LoadObject("Media\soldier.bmp")
    ObjectRange bot,32
    PositionObject bot,50,200

    'setup some collisions
    SetupCollision soldier,bot,2,2,2
    SetupCollision soldier,map,1,4,2

    Repeat

        'Update controls
        If LeftKey() Then TurnObject soldier,5
        If RightKey() Then TurnObject soldier, -5
        If UpKey() Then MoveObject soldier,3.5
        If DownKey() Then MoveObject soldier, -2

        'Camera follow
        CloneCameraPosition soldier

        'Enable additional graphics
        DrawGame
        
        collisions=CountCollisions(soldier)
        
        'iterate through all collisions
        For i=1 To collisions
            Color cbwhite
            Text 0,(i-1)*12,"angle: "+CollisionAngle(soldier,i)+" object: "+GetCollision(soldier,i)
            
            'draw the collision-ball
            Color cbred
            Circle CollisionX(soldier,i) -5,CollisionY(soldier,i)+5,10
        Next i
        

        'render SCREEN
        DrawScreen

    Until EscapeKey()

    <<TAKAISIN