Skip to main content
GameDev.net gamedev.net
🔒 Locked 🎮 Unity

Help with Worm Clone Draw() method

Started by Manhattanisgr8 Apr 23, 2013 at 8:19 PM 2 replies 1.5k views
Original Post
Manhattanisgr8
Manhattanisgr8

I am currently working in a worm clone and I am having trouble drawing the worm's body to the screen. I am trying to draw the worm's head, 2 body parts, and then the tail. It is drawing the head, 1 body part, and then the tail. The body part is drawing right behind the head as I want it to, and then there is a space where the second body part should be drawing, then the tail. Any assistance would be greatly appreciated.

Update():


 switch (currentDirection)
            {
                case Direction.Right:
                    bodyPosition.X = wormHeadPosition.X - wormBodyWidth + 1;
                    wormTailPosition.X = bodyPosition.X - ((wormBodyTexture.Count - 1) * wormBodyWidth) - wormTailWidth + 2;
                    bodyPosition.Y = wormHeadPosition.Y;
                    wormTailPosition.Y = bodyPosition.Y;

                    wormBodyPosition[0] = bodyPosition;
                    for (int i = 1; i < wormBodyTexture.Count; i++)
                    {
                        bodyPosition.X += -wormBodyWidth + 1;
                        wormBodyPosition = bodyposition;
                    }

                    break;

Draw():


public void Draw(SpriteBatch spriteBatch)
        {
            spriteBatch.Draw(wigglesTail, wormTailPosition, Color.White);

            for (int i = 0; i < wormBodyTexture.Count - 1; i++)
            {
                spriteBatch.Draw(wormBodyTexture, wormBodyPosition, Color.White);
            }

            spriteBatch.Draw(wigglesHead, wormHeadPosition, Color.White);
        }
Cpl Alt, Travis A USMC
Manhattanisgr8
Manhattanisgr8

If I don't subtract one from the body count, I get an out of range exception error. I am currently using a List for the body. Haven't thought about just making the whole worm a List. I will try it, hopefully with better results.

Cpl Alt, Travis A USMC
Jakob Krarup
Jakob Krarup

Hi Manhattanisgr8 :)

I am currently making a tutorial on how to code a snake game in XNA, so you're welcome to have my code so far to look at for inspiration.

I've chosen the List implementation, and then just drawing the List[0] part as a different texture to show the head.

Here's the code, and here's a screendump of the game so far:

2013-05-09_142937.png

Let me know if any of it gives you any trouble :)

Kind regards - Jakob

www.xnafan.net - tutorials, tools and code samples for making games :)

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.