C# XNA — создание массива космических захватчиковC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 C# XNA — создание массива космических захватчиков

Сообщение Anonymous »

Я видел несколько руководств, в которых прямоугольник использовался в качестве массива. Но их захватчики не анимированы. Я использую таблицу спрайтов для захватчиков, и мне нужно их всех анимировать... Как это сделать?
Вот мой класс захватчиков:

Код: Выделить всё

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Storage;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework.Net;

namespace SpaceInvaders
{
class botInvaders
{
public botInvaders()
{
}

public static Texture2D BotInvaderTex;
Rectangle BotInvaderHitBox;
public static Vector2 BotInvaderPos = new Vector2(0, 28), BotInvaderOrigin;

int BotInvaderCurrentFrame = 1, BotInvaderFrameWidth = 52, BotInvaderFrameHeight = 88;

float Timer = 0f, Interval = 100f;

public void Initialize()
{
}

public void LoadContent(ContentManager Content)
{
BotInvaderTex = Content.Load(".\\gameGraphics\\gameSprites\\botInvaders\\normalInvaders\\invaderShip1");
}

public void Update(GameTime gameTime)
{
BotInvaderHitBox = new Rectangle(BotInvaderCurrentFrame * BotInvaderFrameWidth, 0, BotInvaderFrameWidth, BotInvaderFrameHeight);
BotInvaderOrigin = new Vector2(BotInvaderHitBox.X / 2, BotInvaderHitBox.Y / 2);

Timer += (float)gameTime.ElapsedGameTime.Milliseconds;

if (Timer > Interval)
{
BotInvaderCurrentFrame++;
Timer = 0f;
}

if (BotInvaderCurrentFrame == 2)
{
BotInvaderCurrentFrame = 0;
}

BotInvaderHitBox = new Rectangle(BotInvaderCurrentFrame * BotInvaderFrameWidth, 0, BotInvaderFrameWidth, BotInvaderFrameHeight);
BotInvaderOrigin = new Vector2(BotInvaderHitBox.Width / 2, BotInvaderHitBox.Height / 2);
}

public void Draw(SpriteBatch spriteBatch)
{
spriteBatch.Draw(BotInvaderTex, BotInvaderPos, BotInvaderHitBox, Color.White, 0f, Vector2.Zero, 1.0f, SpriteEffects.None, 0);
}
}
}
Это показывает, как я анимирую захватчиков. Можно часть модифицированного кода, чтобы было 5 строк захватчиков и 10 столбцов? Я могу сделать движение сам, мне нужен только массив. Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/270 ... e-invaders
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»