Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
XNA 4.0 Game Development by Example: Beginner's Guide - Visual Basic Edition

You're reading from   XNA 4.0 Game Development by Example: Beginner's Guide - Visual Basic Edition Create your own exciting games with Visual Basic and Microsoft XNA 4.0

Arrow left icon
Product type Paperback
Published in Dec 2011
Publisher Packt
ISBN-13 9781849692403
Length 424 pages
Edition 1st Edition
Arrow right icon
Author (1):
Arrow left icon
Kurt Jaegers Kurt Jaegers
Author Profile Icon Kurt Jaegers
Kurt Jaegers
Arrow right icon
View More author details
Toc

Table of Contents (16) Chapters Close

XNA 4.0 Game Development by Example – Visual Basic Edition Beginner's Guide
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
1. Introducing XNA Game Studio FREE CHAPTER 2. Flood Control – Underwater Puzzling 3. Flood Control – Smoothing Out the Rough Edges 4. Asteroid Belt Assault – Lost in Space 5. Asteroid Belt Assault – Special Effects 6. Robot Rampage – Multi-Axis Mayhem 7. Robot Rampage – Lots and Lots of Bullets 8. Gemstone Hunter - Put on your Platform Shoes 9. Gemstone Hunter—Standing on your Own Two Pixels Index

Time for action – supporting collision detection


  1. Add the following properties and methods needed to support collision detection to the Sprite class:

    Public ReadOnly Property BoundingBoxRect As Rectangle
        Get
            return new Rectangle(
              CInt(_location.X) + BoundingXPadding,
              CInt(_location.Y) + BoundingYPadding,
              frameWidth - (BoundingXPadding * 2),
              frameHeight - (BoundingYPadding * 2))
        End Get
    End Property
    
    Public Function IsBoxColliding(OtherBox as Rectangle) As Boolean
        return BoundingBoxRect.Intersects(OtherBox)
    End Function
    
    Public Function IsCircleColliding(
      otherCenter As Vector2, otherRadius As Single) As Boolean
        If (Vector2.Distance(Center, otherCenter) <
            (CollisionRadius + otherRadius)) Then
            return true
        Else
            return false
        End If
    End Function

What just happened?

The BoundingBoxRect property provides a Rectangle object equivalent to the location and size of the sprite, accounting for the padding...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image