Na FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!
Vytvořit web zdarmaNa FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!
Vytvořit web zdarma
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
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;
namespace gamekomponenty.komponenty
{
/// <summary>
/// This is a game component that implements IUpdateable.
/// </summary>
public class GameComponent1 : Microsoft.Xna.Framework.GameComponent
{
public GameComponent1(Game game)
: base(game)
{
// TODO: Construct any child components here
}
/// <summary>
/// Allows the game component to perform any initialization it needs to before starting
/// to run. This is where it can query for any required services and load content.
/// </summary>
public override void Initialize()
{
// TODO: Add your initialization code here
base.Initialize();
}
/// <summary>
/// Allows the game component to update itself.
/// </summary>
/// <param name="gameTime"> Provides a snapshot of timing values.</param>
public override void Update(GameTime gameTime)
{
// TODO: Add your update code here
base.Update(gameTime);
}
}
}
Tato komponenta má metodu Update()v které stejně jako v třídě Game probíhá nějaký kód, ale neumí vykreslovat.
Pokud chceme v komponentě vykreslovat musíme ji doplnit o další metody a dopsat typ komponenty na
public class GameComponent2 : Microsoft.Xna.Framework.DrawableGameComponent.
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
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;
namespace gamekomponenty.komponenty
{
///<summary>
/// This is a game component that implements IUpdateable.
/// </summary>
public class GameComponent2 : Microsoft.Xna.Framework.DrawableGameComponent // dopsáno Drawable
{ private SpriteFont font;
private Hra hra;
public GameComponent2(Hra hra)
: base(hra)
{
// TODO: Construct any child components here
this.hra = hra; //nastavení na zakladní třídu Hra
}
/// <summary>
/// Allows the game component to perform any initialization it needs to before starting
/// to run. This is where it can query for any required services and load content.
/// </summary>
public override void Initialize()
{
// TODO: Add your initialization code here
base.Initialize();
}
/// <summary>
/// Allows the game component to update itself.
/// </summary>
/// <param name="gameTime">Provides a snapshot of timing values.</param>
///
protected override void LoadContent()
{
font = hra.Content.Load< SpriteFont >("SpriteFont1");
base.LoadContent();
}
public override void Update(GameTime gameTime)
{
// TODO: Add your update code here
base.Update(gameTime);
}
public override void Draw(GameTime gameTime)
{
hra.spriteBatch.Begin();
hra.spriteBatch.DrawString(font, "ahoj", new Vector2(100, 100), Color.White);
hra.spriteBatch.End();
base.Draw(gameTime);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Graphics;
namespace Had.components
{
public class Score :DrawableGameComponent
{
public int Value { get; set; }
ContentManager contentManager;
SpriteBatch spriteBatch;
SpriteFont spriteFond;
public Score(Game game)
: base(game)
{
contentManager = new ContentManager(game.Services);
contentManager.RootDirectory = "Content";
}
protected override void LoadContent()
{
spriteBatch = new SpriteBatch(Game.GraphicsDevice);
spriteFond = contentManager.Load < SpriteFont >("ScoreFont");
}
protected override void UnloadContent()
{
contentManager.Unload();
}
public override void Draw(GameTime gameTime)
{
spriteBatch.Begin();
spriteBatch.DrawString(spriteFond,Value.ToString(),new Vector2(10f,0f),Color.White);
spriteBatch.End();
}
}
}
...
protected override void Initialize()
{
// TODO: Add your initialization logic here
GameComponent1 komponenta1 = new GameComponent1(this);
GameComponent2 komponenta2 = new GameComponent2(this);
Components.Add(komponenta2);
Components.Add(komponenta1);
base.Initialize();
}
...