• Dear Cerberus X User!

    As we prepare to transition the forum ownership from Mike to Phil (TripleHead GmbH), we need your explicit consent to transfer your user data in accordance with our amended Terms and Rules in order to be compliant with data protection laws.

    Important: If you accept the amended Terms and Rules, you agree to the transfer of your user data to the future forum owner!

    Please read the new Terms and Rules below, check the box to agree, and click "Accept" to continue enjoying your Cerberus X Forum experience. The deadline for consent is April 5, 2024.

    Do not accept the amended Terms and Rules if you do not wish your personal data to be transferred to the future forum owner!

    Accepting ensures:

    - Continued access to your account with a short break for the actual transfer.

    - Retention of your data under the same terms.

    Without consent:

    - You don't have further access to your forum user account.

    - Your account and personal data will be deleted after April 5, 2024.

    - Public posts remain, but usernames indicating real identity will be anonymized. If you disagree with a fictitious name you have the option to contact us so we can find a name that is acceptable to you.

    We hope to keep you in our community and see you on the forum soon!

    All the best

    Your Cerberus X Team

collision help...

Dubbsta

Active member
Joined
Jul 13, 2017
Messages
208
i did object pool for this. when collision happens score and sound go crazy and wont stop, if i do a
hit = true and hit = false outside of this block sound wont play and no scrore??? can someone tell me what im doing wrong
Code:
For Local i:Bullets = eachin bulletList



i.fy -= i.bspeed * dt.delta

If i.fx > bx - 45 and i.fx < bx + 45 and i.fy > by + 10 and i.fy < by + 70 Or i.fx > bx - 23 and i.fx < bx +23 and i.fy > by +70 and i.fy - 8< by + 90 Or i.fy <0

i.visible = False

score += 10

Benergy -= 1

PlaySound(hitsnd,1,0)

End

Next
 
Put that freakishly long If-statement in another, that first checks if i.visible is true (or "Not False" but let's assume you're using i.visible as a bool which is either true or false) and therefore will only pass once

Like
Code:
If i.visible = True Then

<the other if block here>

End
 
Put that freakishly long If-statement in another, that first checks if i.visible is true (or "Not False" but let's assume you're using i.visible as a bool which is either true or false) and therefore will only pass once
hahaha k thanks will try

edit: works!!!
 
Last edited:
I think this reads better than stacking if-statements

Code:
For Local i:Bullets = EachIn bulletList
    If Not i.visible Then Continue
   
    i.fy -= i.bspeed * dt.delta
   
    If i.fx > bx - 45 And i.fx < bx + 45 And
       i.fy > by + 10 And i.fy < by + 70 Or
       i.fx > bx - 23 And i.fx < bx + 23 And
       i.fy > by + 70 And (i.fy - 8) < (by + 90) Or
       i.fy < 0
      
       score += 10
       Benergy -= 10
       PlaySound(hitsnd, 1, 0)
      
    End
   
Next
 
Back
Top Bottom