Odstránenie obrázku – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Odstránenie obrázku – .NET – Fórum – Programujte.comOdstránenie obrázku – .NET – Fórum – Programujte.com

 

Zavada
~ Anonymní uživatel
6 příspěvků
5. 6. 2011   #1
-
0
-

Dobrý deň . Prosím vás ,ako môžem odstrániť obrázok ? Som začiatočník a neviem ako to spraviť . Skúšal som to takto ,ale nešlo to :

if (sPos.X > MaxX)
{
mytexture.Remove();
}

Kód bol písany v metóde Update()

V metóde LoadContent() mám toto :
mytexture = Content.Load<Texture2D>("ball");

A úplne na začiatku toto :
Texture2D mytexture;


Ale nejde mi to odstrániť . Prosím ,poradte mi .

Nahlásit jako SPAM
IP: 87.197.139.–
nervak0
Věrný člen
5. 6. 2011   #2
-
0
-

Ach jo, výborný popis. Tak si tipnu, zkus toto.

Update()

if (sPos.X > MaxX) 

mytexture = null;
Draw()
if (mytexture != null)

...Draw(mytexture...);

Nahlásit jako SPAM
IP: 213.211.51.–
zavada
~ Anonymní uživatel
6 příspěvků
5. 6. 2011   #3
-
0
-

Keď som dal ten kód (tvoj vyššie) do metódy Update() ,tak už to ide ako má . Len neviem či sa ten obrázok odstráni . Už nebude v tom programe ?

Ospravedlňujem sa za nepresné zadanie môjho problému . Lepšie to popíšem :
Mám loptičku . Má naprogramované ,aby sa od okrajov okna odrážala . Ale ja som chcel spraviť ,aby sa neodrážala ,ale vymazala sa . Ten kód som chcel potom použiť v jeden hre ,kde som zase chcel spraviť ,aby sa vymazávali asteroidy . Ale teraz som si to chcel vyskúšať na niečom menšiom . Pošlem aj kód pre ukážku :



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 MyFirstGame
{

public class Game1 : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;
Texture2D mytexture;

public Game1()
{
graphics = new GraphicsDeviceManager(this);
Content.RootDirectory = "Content";

graphics.PreferredBackBufferWidth = 800;
graphics.PreferredBackBufferHeight = 600;

}


protected override void Initialize()
{


base.Initialize();
}

Vector2 sPos = Vector2.Zero;
protected override void LoadContent()
{

spriteBatch = new SpriteBatch(GraphicsDevice);
mytexture = Content.Load<Texture2D>("ball");

}

protected override void UnloadContent()
{

}

Vector2 sSpeed = Vector2.One;
protected override void Update(GameTime gameTime)
{

if (Keyboard.GetState().IsKeyDown(Keys.Escape))
this.Exit();
sPos += sSpeed * (float)gameTime.ElapsedGameTime.TotalSeconds * 500;
int MaxX = graphics.GraphicsDevice.Viewport.Width + mytexture.Width;
int MinX = 0;
int MaxY = graphics.GraphicsDevice.Viewport.Height - mytexture.Height;
int MinY = 0;

if (sPos.X > MaxX)
{
sSpeed.X *= -1;
sPos.X = MaxX;
}
else if (sPos.X < MinX)
{
sSpeed.X *= -1;
sPos.X = MinX;
}
if (sPos.Y > MaxY)
{
sSpeed.Y *= -1;
sPos.Y = MaxY;
}
else if (sPos.Y < MinY)
{
sSpeed.Y *= -1;
sPos.Y = MinY;
}
base.Update(gameTime);
}
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.CornflowerBlue);
spriteBatch.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend);
spriteBatch.Draw(mytexture, sPos, Color.White);
spriteBatch.End();
base.Draw(gameTime);
}
}
}



Nahlásit jako SPAM
IP: 87.197.139.–
nervak0
Věrný člen
5. 6. 2011   #4
-
0
-

Bude. Zůstane viset v ContentManageru. Ale je otázka, jestli to vadí. Jak si ty asteroidy představuješ?

EDIT: Respektive takhle - Load() ty textury cachuje, takže jsou sdílené a pokud tam nebudeš mít hromadu textur, které brzy nikde nepotřebuješ, tak uvolňování nemusíš řešit. Případně si vystačíš s Content.Unload() na konci levelu.

Nahlásit jako SPAM
IP: 213.211.51.–
Zavada
~ Anonymní uživatel
6 příspěvků
5. 6. 2011   #5
-
0
-

Už som na to asi aj prišiel ako ich vymazať . Len mám zase iný problém s tým spojený . Skúsim na to nejak prísť . Ale aj tak ďakujem za pomoc .

Nahlásit jako SPAM
IP: 87.197.139.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 61 hostů

Podobná vlákna

Odstránenie diakritiky — založil muhahaha

Odstranenie suboru — založil Tayson

Odstranenie diakritiky — založil HowIDied

Odstránenie diakritiky — založil Hudacik

Odstranenie tagu &lt;big /&gt; — založil Lordest

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý