Anonymní profil Belze – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Belze – Programujte.comAnonymní profil Belze – Programujte.com

 

Příspěvky odeslané z IP adresy 90.180.234.–

.NET › Přepočet rozměru videa
25. 2. 2013   #172082

Zdravim nejsem si jisty co presne potrebujes, pokud dobre chapu tak chcecs zjistit v jakem pomeru je vysledny obraz kdyz je 1041x426 nejsem zadny profik ale myslim si ze reseni je toto

1041 / 716

tím vypočítaš že poměr je

1.45..... : 1 

vynásobíš 4 

a vyjde ti poměr 5,81... : 4 

sorry pokud to neni co potřebuješ :)

.NET › Zjištění a výpis aktuálních…
25. 2. 2013   #172078

No tak v tom pripade  


        int poziceX = hero.Position.X;
        int poziceY = hero.Posution.Y;

a nebo pokud to chces mit pohromade tak muzes pouzit vektor 


        Vector2 Position = new Vector2(hero.position.X, hero.position.Y);

a nebo jestli si tu pozici nechces nikam ukladat a chces to rovnou vykreslit tak pouzit podobnej kod

 spriteBatch.DrawString(_2Dhra.CoreEngine.TimesNewRoman, "Player 1 Pos X / Y " + hero.Position.X.ToString() + " / " + Hero.position.Y.ToString(), new Vector2(10, 130), Colo);
     
.NET › Zjištění a výpis aktuálních…
25. 2. 2013   #172072

To je otazka k XNA ? 2D nebo 3D ?

Zalezi jakou promenou pouzivas pri vykreslovani, predpokladam ze pouzivas Vector2 a v nem mas ulozene pozice X a Y, pokud pouzivas rectangle tak ma taky pozici X Y

Belze
.NET › XNA - Rotace pohybujicího se…
24. 2. 2013   #172030

Tak omyl kod nefungoval uplne presne potreboval jeste malou upravu cely funkcni kod je tady, snad nekomu pomuze

        public Texture2D texture;
        float rotation;
	float smerX;
        float smerY;
        public Rectangle Size;        
   	Vector2 position;
        float rotationAngle;


public void update(GameTime gametime, List<Meteority> meteory, Meteority thisMeteor)
        {

         position.X += Convert.ToInt32(gametime.ElapsedGameTime.Milliseconds * smerX); //Pohyb po Ose X
         position.Y += Convert.ToInt32(gametime.ElapsedGameTime.Milliseconds * smerY); //Pohyb po Ose X

         rotationAngle =  gametime.ElapsedGameTime.Milliseconds / 50.0f; //Vypocet  uhlu rotace
         rotation += MathHelper.ToRadians(rotationAngle); // prepocet uhlu rotace na radiany

          }

        public void draw(SpriteBatch spriteBatch)
        {
             spriteBatch.Draw(texture, new Rectangle((int)position.X + (int)Rotate(rotation, 0, new Vector2(Size.Width / 2, Size.Height / 2)).X // Meteor vykresluji pomoci Rectangle ne Vector2 pozici kde obekt chceme vykrelit musime nastavit podle toho jak mame obekt natoceny
                                                   , (int)position.Y + (int)Rotate(rotation, 0, new Vector2(Size.Width / 2, Size.Height / 2)).Y // Stejne jako souradnice X musime pozici kde obekt chceme vykrelit nastavit podle toho jak mame obekt natoceny
                                                   , Size.Width, Size.Height), // Sirka vyska textury
                                                   null, Color.White, rotation, // .., .., aktualni rotace v radianech
                                                   new Vector2(25, 25), // origin , brany z puvodni velikosti obrazku tzn. Obrazek 50x50 ma origin 25,25 
                                                   SpriteEffects.None, 0f);  
                 }
        }

        private Vector2 Rotate(float angle, float distance, Vector2 centre)
        {
            return new Vector2((float)(distance * Math.Cos(angle)), (float)(distance * Math.Sin(angle))) + centre;
        }
.NET › XNA - Rotace pohybujicího se…
24. 2. 2013   #171933

Rad bych tema oznacil jako vyresene jen nemuzu najit kde, mozna to bude tim ze jsem nebyl prihlasen pri zakladani topicu, porosil bych moderatora aby tema oznacil jako vyresene diky.

Belze
.NET › XNA - Rotace pohybujicího se…
23. 2. 2013   #171886

Aha uz jsem nasel chybu, diky za ten tutorial pomohl origin musi byt bod u originalni velikost obrazku, tzn kdyz obrazek o velikosti 50,50 pixelu vykresluju jako 100x100 tak jeho origin neni 50,50 jak by se zdalo ale 25,25

   spriteBatch.Draw(texture, new Rectangle((int)position.X, (int)position.Y, Size.Width, Size.Height), null, Color.White, rotation, new Vector2(25, 25), SpriteEffects.None, 0f);
       
Belze
.NET › XNA - Rotace pohybujicího se…
23. 2. 2013   #171852

To jsem prave zkousel viz. odpoznamkovyn kod a nefunguje to vypda to jako kdyz se obekt otaci kolem originu 0,0 (Ano kontroloval jsem hodnoty originu a jsou nastaveny na 25,25 coz je stred me textury)

Belze
.NET › XNA - Rotace pohybujicího se…
23. 2. 2013   #171838

Zdravím narazil jsem na problém se kterým si už vážně nevím rady. 

Mám oběkt, jeho velikost a pozici si pamatuji v proměnné Rectangle. Oběkt se pohybuje ve směru float X, float Y, a zároveň ho chci rotovat v jeho středu (Vector2 Midopoint) . Problém je že oběkt se během rotace pouze netočí, ale obíhá kolem bodu 

 

    public Texture2D texture;
    float rotation;
    float circle = MathHelper.Pi* 2;
    float smerX;
    float smerY;
    public Rectangle SizeAndPos;
       
      public Meteority(Texture2D texture, Vector2 position, float smerX, float smerY, Rectangle Size, int health)
        {
            this.texture = texture;
            this.SizeAndPos = new Rectangle((int)position.X,(int)position.Y, Size.Width, Size.Height);
            this.smerX = smerX;
            this.smerY = smerY;
            rotation = rand.Next(0, 360);
         }  

 public void update(GameTime gametime, List<Meteority> meteory, Meteority thisMeteor)
        {
            SizeAndPos.X += Convert.ToInt32(gametime.ElapsedGameTime.Milliseconds * smerX);
            SizeAndPos.Y += Convert.ToInt32(gametime.ElapsedGameTime.Milliseconds * smerY);

            rotation += gametime.ElapsedGameTime.Milliseconds / 8000.0f;
            rotation = rotation % circle;

     //       Midpoint = Vector2.Transform(new Vector2(SizeAndPos.X,SizeAndPos.Y), Matrix.CreateRotationZ(rotation));
       //   SizeAndPos = Vector2.Transform( SizeAndPos, Matrix.CreateRotationZ(-0.1f))

        //   Midpoint = new Vector2(SizeAndPos.Width / 2 , SizeAndPos.Height / 2);
        
            if ((SizeAndPos.X <= -100)||(health <=0))
                meteory.Remove(thisMeteor);
        }

 public void draw(SpriteBatch spriteBatch)
        {
          //  spriteBatch.Draw(texture, SizeAndPos, Color.White);
              spriteBatch.Draw(texture, SizeAndPos, null, Color.White, rotation,Midpoint, SpriteEffects.None, 0f);
      }

Potřebuji aby se oběkt rotoval ale zůstal na stejném místě, kód který mám nyní funguje ale oběkt obíhá kolem bodu a znemožňuje mi další práci, protože nemění hodnoty v proměnné SizeAndPos.

Díky za pomoc doufám že jsem to vysvětlil srozumitelně.

Belze
.NET › Xna jak na Input
22. 5. 2012   #158277

#7 zlz
no ano o tom kodu v dokumentaci samozrejme vim ale u toho je prave ten problem ze program snima klavesnici kazdych 17 ms a tudiz vynecha nektere znaky pokud pisete dost rychle, jednim resenim by bylo nelimitovat FPS hry ale je zbytecne aby hra mela 200fps jen kvuli spatnemu inputu a druhym resenim je prave vytvorit si buffer.

Tady na teto strance se snazili tento problem vyresit dali tam udajne funkcni kod ale uplne bez jakychkoliv popisku nebo navodu jak presne ho pouzit, proto jsem se obratil tady na forum jestli s tim nekdo nema uz nejake zkusenosti a neporadil by

Belze
.NET › Xna jak na Input
21. 5. 2012   #158241

#4 Belze

Aha ted jsem prisel na to v cem je chyba, do Keys nemuzu ulozit male pismena, muze mit hodnoty pouze velka pismena

Belze
.NET › Xna jak na Input
21. 5. 2012   #158240

stiskem klavesy ''t'' to vypise F5 , zajimavy je ze kdyz podrzim "Shift" + "t" tak to vypise normalne "T"

Belze
.NET › Xna jak na Input
21. 5. 2012   #158229

#1 Belze 
Jen poznamka

List<Keys> ks = new List<Keys>();
Belze
.NET › Xna jak na Input
21. 5. 2012   #158228

Zdravim

Narazil jsem na problem s inputem z klavesnice u XNA. Jde o to ze kdyz uzivatel je napr. v menu a stiskne enter tak se program sam od sebe "proklika" az na konec. Tento problem jsem vyresil jednoduchym 

if (newState.IsKeyDown(Keys.Enter) && !oldState.IsKeyDown(Keys.Enter))

Ale tam nastala chyba cislo 2. Kvuli tomu ze se cely program projede kazdych cca 17ms se pomerne casto stane ze program vubec nestaci zareagovat na stisk klavesy. Hodne jsem hledal na internetu a zjistil jsem ze moznym resenim je vytvorenim jakesi tridy ktera funguje jako Buffer a ulozi si stisk klavesy a tady je prave ta vec vubec nechapu jak takovou tridu pouzit, kdyz mam takovyto kod a stisknu treba "f" tak mi to vypise "F5"  a kdyz budu pouzivat odpoznamkovany TextBuffer tak vse vypisuje v poradku nevite nekdo nahodou jak vyresit tento problem s bufferem ?

   private void CharacterEntered(object sender, EventInput.CharacterEventArgs e)        {
            // Add key to text buffer. If not a symbol key.
            if (!((int)e.Character < 32 || (int)e.Character > 126)) //From space to tilde
            {
                // Capitals are already supported in DLL so we don't have to worry about checking shift
                if (!(Keyboard.GetState().IsKeyDown(Keys.LeftControl) || Keyboard.GetState().IsKeyDown(Keys.RightControl)))
                {
                   ks.Add((Keys)e.Character);
                    //TextBuffer += e.Character;
                }
            }

            // Backspace - remove character if there are any
            if ((int)e.Character == 0x08 && TextBuffer.Length > 0)
            {
                ks.RemoveAt(ks.Count - 1);
               // TextBuffer = TextBuffer.Remove(TextBuffer.Length - 1);
            }
        }

Dekuji za rady doufam ze jsem vse vysvetlil dobre.

Belze
.NET › XNA ukladani nastaveni
27. 4. 2012   #157126

Diky pouzil jsem to predchozi reseni vyuzivajici settings :) a funguje to tak jak potrebuji, kdybych vedel ze existuje takove  snadne reseni tak bych tu neotravoval

Belze
.NET › XNA ukladani nastaveni
27. 4. 2012   #157108

Zdravim potreboval bych poradit jak jednoduse ukladat hodnoty do souboru (nejspis XML). Hledal jsem par dni na internetu a v XNA prirucce ale zadny z kodu se mi nepodarilo zprovoznit.

Co potrebuji. Ulozit jeden int a jeden bool do souboru a pri spusteni programu je nacist.

Z toho co jsem nasel jsem se dozvedel ze musim nejdrive data usporadat do [Serializable] a potom je ulozit ale nikdy se mi to nepodarilo. 

Mohl by mi prosim nekdo z vas poradit jak navrhnout ten XML soubor a jak nacist data ? Nejlepe nejaky jednoduchy hotovy kod na kterem je dobre videt kdy se jaka metoda vola a s jakymi parametry predem dekuji za vase rady

Belze
.NET › c# Problem s Nereagovanim pr…
30. 1. 2012   #153044

Zdravim zacinam s C# a mam mensi problem, napsal jsem program ktery slouzi k prohledavani zadanych slozek a naslednemu vypsani cest k nim a jejich velikosti. Problem nastava kdyz necham prohledat soubor tak program zacne pracovat na rekurzi a tudiz nereaguje na jakekoliv pokyny uzivatele. Snazil jsem se spustit pracovni program v samostatnem threadu ale jaksi se mi to nepodarilo protoze mi program hazel chybu ze nema pristup do hlavniho threadu.

program zde http://www.uloz.to/12956990/pruzkumnik-souboru-zip 

potrebuji spustit funkci VypisSouboru na samostatnem threadu ale aby program zaroven mohl vypisovat do SyncTextboxu. Bylo by dobre kdyby mi nekdo dokazal poradit jak naprikladu udelat tlacitko na pauznuti program a nasledne znovuspusteni.

dekuji predem za vas cas

belze
C / C++ › Switch
22. 5. 2011   #142370

To KIIV : To KIIV : jo diky uz mi to funguje ja mel preklep v jedny z tech funkci a proto mi to nevypisovalo nic a ja myslel ze to je spatne zapsany v tom switch

belze
C / C++ › Switch
22. 5. 2011   #142368

zdravim chtel bych se zeptat jestli v tomto pripade program zavola funkce prodej a kontrola nebo jestli zavola jen funkci prodej
a v pripade ze zavola jen funkci prodej tak jak bych mel udelat aby volal obe dve funkce


case 'p' : prodej (&vozidla[pocetvozidel]);
kontrola (&vozidla[pocetvozidel]);
pocetvozidel++;
break;

belze
C / C++ › spusteni .exe
18. 5. 2011   #142264

To crAzY^ : Ten odkaz to sem skousel driv nez jsem napsal sem na forko ale diky : ) uz jsem na to prisel , Pro ty co by nahodou meli stejny problem tak mejte oba .exe soubory (program ktery pisete + program ktery chcete pustit) ve stejny slozce me to pomohlo.

belze
C / C++ › spusteni .exe
18. 5. 2011   #142257

jen bych chtel dodat ze .exe ktery chci spustit neni konzolova aplikace

belze
C / C++ › spusteni .exe
18. 5. 2011   #142256

Zdravim

rad bych udelal program ktery nejprve upravi nastaveni napr. setings a potom spustil .exe soubor . Potreboval bych poradit jak mam spustit ten .exe soubor . ktery bude napr v C:\program files\hra

Predem diky za pomoc

 

 

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