játékfejlesztés.hu
FórumGarázsprojectekCikkekSegédletekJf.hu versenyekKapcsolatokEgyebek
Legaktívabb fórumozók:
Asylum:    5455
FZoli:    4892
Kuz:    4455
gaborlabor:    4449
kicsy:    4304
TPG:    3402
monostoria:    3284
DMG:    3172
HomeGnome:    2919
Matzi:    2521

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2189
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1625
syam:    1491
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] > 8 < [9] [10] [15] [20] [25] [30] [35] [40] [45] [46]
LugaidVandroiy - Törzstag | 504 hsz       Online status #182376   2012.06.05 09:21 GMT+1 óra  
Nyugi, ezt csak ő tudja dekódolni Már feltéve persze, ha tudja

Anakin: hogy legyen valami konstruktív is a hozzászólásomban. A C# egy olyan nyelv, amiben a fordítónak úgy mondod meg, hogy egy-egy kódblokk mettől meddig tart, hogy { és } használsz. Ezek néhány esetben elhagyhatóak. Majd mindjárt. A { nyitja a blokkot a } pedig zárja.

Kód:
public static void foo(){
....
}


itt egyértelmű, hogy a függvény {-tól }-ig tart.

Kód:
if (feltetel){
...
}
else {
...
}


Itt is látszódik, hogy meg kell valahogy mutatni, hogy meddig tart a feltétel egyik és másik ága.

De vegyünk egy ellenpéldát.

Kód:
if (feltetel){
...
}
foo();


nem ugyanaz, mint

Kód:
if (feltetel){
...
foo();
}


Az első esetben a foo() fgv. minden esetben meghívódik, a második esetben pedig csak ha a feltétel igaz.


Mikor hagyható el? Akkor, ha a feltételed, ciklusod, vagy akármi, csak egy sor. Akkor viszont nyitni sem kell a blokkot.

Kód:
if (feltetel)
foo();



De ajánlom, hogy nézegess a neten tutorialokat/könyveket, egyértelműen el van magyarázva az első fejezetben. Én annak idején a 21 napos könyvből tanultam meg, csak ajánlani tudom.

   
DMG - Szerkesztő | 3172 hsz       Online status #182375   2012.06.05 08:33 GMT+1 óra  
Idézet
Tibsy :
Idézet
DMG :
Köszönjük!
És a kódot, azt láttad?


szívesen ,
nem ,mert csak részlet és ok nem kezdő ,ez egyértelmű
csak a véleményemet osztottam meg,,,,



Mi van?

"csak részlet és ok nem kezdő"



És én arra a kódra gondoltam, amit beszúrt képként, azt láttad?
-----------------------------------------
Dont Listen to the Naysayers
   
LugaidVandroiy - Törzstag | 504 hsz       Online status #182372   2012.06.05 06:07 GMT+1 óra  
Köszönjük Emese!

   
Tibsy - Tag | 307 hsz       Online status #182368   2012.06.05 02:01 GMT+1 óra  
Idézet
DMG :
Köszönjük!
És a kódot, azt láttad?


szívesen ,
nem ,mert csak részlet és ok nem kezdő ,ez egyértelmű
csak a véleményemet osztottam meg,,,,
   
Parallax - Tag | 591 hsz       Online status #182337   2012.06.04 16:39 GMT+1 óra  
Tibsy : Minden else ág lezárója meg van fordítva, aztán sportszerű nehezítésként a konstruktor bezáró is. Aztán, ami nem látszik még ki tudja mi minden. Ennél talán még a bugyuta állásinterjún "na mi a hiba" című feladatok szándékos hülyeségei sem jobbak, egyszerűen zseniális. Utoljára delphiben volt ilyesmi felling, mikor valami kódot kellett átkonvertálni. Ott 10-12 end egymás alatt mindeféle behúzás nélkül notepadban emberes volt.

Ezt a hozzászólást Parallax módosította (2012.06.04 16:45 GMT+1 óra, ---)

   
LBandy - Tag | 271 hsz       Online status #182335   2012.06.04 16:34 GMT+1 óra  
Amúgy a shoton nagyon szépen megfigyelhető, hogy melyek azok a részek amik nyilvánvalóan a ctrlcv mágikus billentyűkombináció eredményei, és melyek azok a karakterek, amik ugyan formailag nem megfelelően, de mégis saját ötlettől vezérelten átírásra kerültek.
   
DMG - Szerkesztő | 3172 hsz       Online status #182306   2012.06.04 14:00 GMT+1 óra  
Idézet
Tibsy :
és valszeg nem volt le zárva az a blokk {} vagy egyel töb volt akkor is alá huza



Köszönjük!

És a kódot, azt láttad?
-----------------------------------------
Dont Listen to the Naysayers
   
Tibsy - Tag | 307 hsz       Online status #182302   2012.06.04 12:48 GMT+1 óra  
nya azért a vc# se olyan rossz , egy hozáértö kezében de egy kezdőnek még sok tapasztalatra van szűksége mire kérdések nélkül is buldogul.. és valszeg nem volt le zárva az a blokk {} vagy egyel töb volt akkor is alá huza
   
Parallax - Tag | 591 hsz       Online status #182300   2012.06.04 12:24 GMT+1 óra  
Rájöttem, ezért szeretik a kezdők a vizuális béziket és mondják, hogy az könnyű. Ott ilyen gond nincs, mert valami end akármicsoda a vége éppen attól függően mi volt az eleje a blokknak.

   
LugaidVandroiy - Törzstag | 504 hsz       Online status #182298   2012.06.04 12:06 GMT+1 óra  
Maaaaaaaatttzzzzzziiiiii, neeeee

   
Matzi - Szerkesztő | 2521 hsz       Online status #182297   2012.06.04 11:56 GMT+1 óra  
Nem az ilyen feladatokra van a "fordító"?
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
DMG - Szerkesztő | 3172 hsz       Online status #182284   2012.06.04 08:39 GMT+1 óra  
meg még a többit is, ami még rossz irányba mutat.

Amúgy meg, ha nem képet töltesz fel, ahnem a kódot másolod ide, akkor hamarabb korrigálni tudnánk.
-----------------------------------------
Dont Listen to the Naysayers
   
Kuz - Törzstag | 4455 hsz       Online status #182283   2012.06.04 08:13 GMT+1 óra  
Idézet
Anakin12 :
Már megfordítottam a } jelet és úgy se akar működni.


Én csak megpróbálnám még egyszer megfordítani.
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
DMG - Szerkesztő | 3172 hsz       Online status #182260   2012.06.03 20:59 GMT+1 óra  
Ez most fájt.

Anakin12 azt tudod, hogy a "{ }" pár mire jó és mit csinál?
-----------------------------------------
Dont Listen to the Naysayers
   
sirpalee - Tag | 1282 hsz       Online status #182257   2012.06.03 20:36 GMT+1 óra  
Ó máj gád.
raytraceisten és übermedic
   
Anakin12 - Tag | 19 hsz       Online status #182256   2012.06.03 20:26 GMT+1 óra  
Üdv!
Segítséget szeretnék kérni!
Írtam egy WebBöngészőt, de nem jöttem rá mi a probléma...
http://kep.ivpicture.hu/657182.N.jpg
Már megfordítottam a } jelet és úgy se akar működni.
Remélem jó helyre írtam.

   
Pretender - Törzstag | 2498 hsz       Online status #179582   2012.04.30 18:49 GMT+1 óra  
ja igen, bocsi

   
dvorgaz - Törzstag | 575 hsz       Online status #179574   2012.04.30 17:10 GMT+1 óra  
Idézet
Pretender :
tuti, ezt használom gameplay timingre


Akkor csak ezt írtad el szerintem:
Kód:
elapsed = currTime - lastTime;
   
Pretender - Törzstag | 2498 hsz       Online status #179573   2012.04.30 17:05 GMT+1 óra  
-.-'
mondtam, hogy pseudo-kód, nézz utána, hogy hogy kell a jelenlegi időt lekérni, stb.

   
Sorenke - Tag | 72 hsz       Online status #179572   2012.04.30 17:04 GMT+1 óra  
Be kel neki valamit kapcsolni a using system-nél mert aláhúzza ezeket:


currTime = getCurrTime();
lastTime = currTime;
frequency = 1.0 / 60.0;

currTime = getCurrTime();
elapsed = currTime - lastTime;
lastTime = currTime;

   
Pretender - Törzstag | 2498 hsz       Online status #179571   2012.04.30 17:02 GMT+1 óra  
tuti, ezt használom gameplay timingre
Kód:
// fixed timestep
timer->GetElapsedTime();

while (timer->NeedUpdate())
{
    // update
}

ahol:
Kód:
inline const bool NeedUpdate()
{
    if (elapsed >= stepTime)
    {
        elapsed -= stepTime;
        return true;
    }

    return false;
}

és
Kód:
void Timer::GetElapsedTime()
{
    currTime = timeGetTime();

    elapsed += (float)(currTime - lastTime) / 1000.0f;

    lastTime = currTime;
}

Persze azért léteznek kifinomultabb időzítések is, de ez is működik.

   
dvorgaz - Törzstag | 575 hsz       Online status #179569   2012.04.30 16:59 GMT+1 óra  
Ez biztos hogy jó?
   
Sorenke - Tag | 72 hsz       Online status #179567   2012.04.30 16:55 GMT+1 óra  
Hhúú de gyors vagy! Vagy aktív na mindegy Köszönöm.

   
Pretender - Törzstag | 2498 hsz       Online status #179565   2012.04.30 16:48 GMT+1 óra  
Egy példa a fixed timestepre: pseudo-kód:
Kód:
currTime = getCurrTime();
lastTime = currTime;
frequency = 1.0 / 60.0;

// amíg fut a program
while (1)
{
    currTime = getCurrTime();
    elapsed = currTime - lastTime;
    lastTime = currTime;

    // mindig 60x fog lefutni
    while (elapsed >= frequency)
    {
        // dolgokat itt

        elapsed -= frequency;
    }
}

Ez így azt csinálja, hogy az eltelt idő alapján addig hajtja végre a belső while ciklust, amíg az eltelt idő nagyobb, az általunk megadott értéknél, azaz 1 mp alatt 60x fog meghívódni a 2. cikluson belüli kód.

   
Sorenke - Tag | 72 hsz       Online status #179564   2012.04.30 16:40 GMT+1 óra  
és azt hogy kel? egy alap példát írnál?

   
Pretender - Törzstag | 2498 hsz       Online status #179563   2012.04.30 16:13 GMT+1 óra  
meg. (időzítés)

   
Sorenke - Tag | 72 hsz       Online status #179562   2012.04.30 15:46 GMT+1 óra  
Meg lehet azt oldani, hogy egy ciklus másodpercenként 60-szór lefusson?

   
Parallax - Tag | 591 hsz       Online status #179316   2012.04.25 10:39 GMT+1 óra  
Ja, hogy ez a gond, de hát figyelj már a Visual C# express-t ingyen lehet használni.

   
Tibsy - Tag | 307 hsz       Online status #179274   2012.04.24 16:35 GMT+1 óra  
szerk.
igaz hogy ingyenes a studio de lassú legalább is az én gépemen

Notepad++ a változókat kilöki egy kicsi tools-ba? és el lehet indítani benne a 3,5 ös .Net-et ? na úgye ?!
bár igaz el avult de még mindig jobb mint egy sima szöveg szerkéztő + nekem már a 2008-as studiot naponta kell regelnem

Ezt a hozzászólást Tibsy módosította (2012.04.25 13:04 GMT+1 óra, ---)
   
Seeting - Törzstag | 2306 hsz       Online status #179264   2012.04.24 15:53 GMT+1 óra  
nevermind

Ezt a hozzászólást Seeting módosította (2012.04.24 16:31 GMT+1 óra, ---)
   
Parallax - Tag | 591 hsz       Online status #179205   2012.04.23 20:05 GMT+1 óra  
Hát igen, csak elavult. .NET 3.5 mikor volt már az, 4.0 van és 4.5-nél tartunk lassan. Egyébként mi a gond a VS-el? Nekem pár mp alatt elindul és egy kattintás az új project. Notepad++ ban is lehet fejleszteni 5 soros programot.

   
Tibsy - Tag | 307 hsz       Online status #179174   2012.04.23 05:01 GMT+1 óra  
Előfordult már, hogy valamilyen kódot, kód-részletet ki szerettünk volna próbálni? Nyilván igen (ha nem, fölösleges is tovább olvasni). Ilyenkor egy új Visual Studio megnyit... krrr, krr... New Project... krrrrr rrr, konzolos alkalmazás, rrrrkrrrr...
Szóval zseniális IDE a Visual Studio, de az ilyen ötsoros alkalmazásokhoz Kellene egy lightweight Visual Studio, amire az ember csak rábök, és már írhatja is a kódot.
Mit ad isten: van ilyen, úgy hívják, hogy Snippet Compiler. Egyszerű, mint Kiszel Tünde, de a legszükségesebb dolgokat tudja. Az installja 1 MB és egy .zip kibontását jelenti, szemvillanás alatt indul.a, és a legjobb, hogy az "Add Reference..." ablak (itt Tools -> References) körülbelül 0.05 sec alatt ugrik föl. Na ezt csinálja utána a Studio!
   
bolyzsolt - Törzstag | 607 hsz       Online status #178833   2012.04.18 05:41 GMT+1 óra  
Idézet
Matzi :
Azt ugye tudod, hogy az Assert akkor dob kivételt, ha a feltétel hamis?


Ááá, tényleg, pedig még gondoltam is rá, és a leírásában is benne van... Részemről fail xd

   
Matzi - Szerkesztő | 2521 hsz       Online status #178826   2012.04.17 22:01 GMT+1 óra  
Azt ugye tudod, hogy az Assert akkor dob kivételt, ha a feltétel hamis?
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
bolyzsolt - Törzstag | 607 hsz       Online status #178819   2012.04.17 21:18 GMT+1 óra  
Kód:
this.BoundingBox = new BoundingBox(20, 20, 20, 20); // left, bottom, right, top
Debug.WriteLine(this.BoundingBox.Left); // kiírja, hogy 20
Debug.Assert(this.BoundingBox == null, "jajnullmáris"); // assertiont dob, de miért? két sorral előtte kap értéket...

De most tényleg, ezt így most miért és hogyan? (A kódrészlet egy nem-BoundingBox osztály konstruktorából származik)

   
Seeting - Törzstag | 2306 hsz       Online status #178791   2012.04.17 17:42 GMT+1 óra  
Idézet
Parallax :
Az a pont nem tudom micsoda az elérési útvonal elején.
szerk.: Ezt így kiegészíteném, mert lehet ezt akartad írni:
Kód:
"..\x:valami"




Kösz már megoldódott.
   
Parallax - Tag | 591 hsz       Online status #178789   2012.04.17 16:54 GMT+1 óra  
Idézet
Tibsy :


Kód:
  public class MemoryCleaner
        private void run()
        {
            while (!event_.WaitOne(PERIOD_IN_MS, false))
            {
                GC.Collect();
                GC.WaitForPendingFinalizers();
            }
        }
    }




A Collect-el nem mész semmire egyébként. Ezt kizárólag diagnosztikai célra lehet alkalmazni, ha például szeretnéd megnézni, hogy adott időpillanatban mennyi lenne a felszabadítható elem. Kollektálni nem szabad explicit, mert ott lehetnek a destroktorok is például. 10 msec-en belül ez úgyis megtörténik, lassabb procin 100-200 msec (pl ARM).

   
Parallax - Tag | 591 hsz       Online status #178780   2012.04.17 14:35 GMT+1 óra  
Az a pont nem tudom micsoda az elérési útvonal elején.
szerk.: Ezt így kiegészíteném, mert lehet ezt akartad írni:
Kód:
"..\x:valami"

Ezt a hozzászólást Parallax módosította (2012.04.17 16:44 GMT+1 óra, ---)

   
Seeting - Törzstag | 2306 hsz       Online status #178768   2012.04.17 13:30 GMT+1 óra  
Használ valaki Mono-t (olyan mint a .net, csak cross platform)?

Kód:
myTemplateNode = node.SelectSingleNode(".//x:valami", RootWindow.NamespaceManager);


Ez a kód sima .Net alatt rendesen működik, Mono alatt meg null-t ad vissza. Miért?
   
DMG - Szerkesztő | 3172 hsz       Online status #178699   2012.04.16 19:26 GMT+1 óra  
Idézet
Use this method to try to reclaim all memory that is inaccessible




Ez is olyasmi lehet mint Java-nál, ott úgy tudom, hogy csak "szólni" lehet a GC-nek, hogy "Te ha van egy kis időd pucoljál már egy kicsit" De ez nem a parancs után közvetlenül történik.
-----------------------------------------
Dont Listen to the Naysayers
   
Tibsy - Tag | 307 hsz       Online status #178698   2012.04.16 19:22 GMT+1 óra  


Kód:
  public class MemoryCleaner
    {
        private const int PERIOD_IN_MS = 500;

        private static int Counter_;

        private Thread thread_;
        private AutoResetEvent event_ = new AutoResetEvent(false);

        public MemoryCleaner()
        {
        }

        public void Start()
        {
            Stop();
            thread_ = new Thread(new ThreadStart(run));
            thread_.Name = string.Format("MemoryCleaner#{0}", Interlocked.Increment(ref Counter_));
            thread_.IsBackground = true;
            event_.Reset();
            thread_.Start();
        }

        public void Stop()
        {
            if (thread_ != null)
            {
                event_.Set();
                thread_.Join();
                thread_ = null;
            }
        }

        private void run()
        {
            while (!event_.WaitOne(PERIOD_IN_MS, false))
            {
                GC.Collect();
                GC.WaitForPendingFinalizers();
            }
        }
    }
   
Pretender - Törzstag | 2498 hsz       Online status #178662   2012.04.16 11:43 GMT+1 óra  
A c++ topicban megint ment a c++ vs c#, és felmerült a memória felszabadítása kérdés, amire mondtam, hogy a c#-ban "nem lehet tudni, hogy mikor", úgymond a GC uralkodik, amikor jónak látja - ez ugye lehet (játékokat tekintve) éppen a csata kellős közepén.

Pusztán kíváncsiságból: Van ugye a GC.Collect() parancs, ami elvileg felszabadítja a memória azon részét, ami nincs használat alatt. Van rá valami biztos módszer, hogy a GC.Collect() hívásakor felszabaduljon az, amit mi szeretnénk? Anno azzal próbálkoztam, hogy nulloztam az objektumokat, hátha azt figyeli a GC

   
bolyzsolt - Törzstag | 607 hsz       Online status #177635   2012.04.05 07:44 GMT+1 óra  
Aha, köszi Most float-os az egész, mert első körben mobilon szeretném tesztelni, hogy megmozdul-e egyáltalán a szimuláció Szóval akkor majd a végén visszatérek még erre.

   
Parallax - Tag | 591 hsz       Online status #177628   2012.04.04 22:36 GMT+1 óra  
Kis pluszmunkával megoldható a typedef:
Kód:
namespace ConsoleTest.Common
{
    struct Typedef
    {
        public static float Real = float.MinValue;
        public static Int64 Integer = Int64.MinValue;
    }
}


Kód:
namespace ConsoleTest.Test
{
    using Common = ConsoleTest.Common;

    class Test
    {
        public void DoSomething()
        {
            var x = Common.Typedef.Integer;
            x = 12;
        }
    }
}


Ha argumentumokban is van, akkor dynamiccal és default paraméterrel lehet kitolni a fordítóval.

Kód:
void Valami(dynamic x = Common.Typedef.Integer)


Ezzel persze gyorsabb nem lesz, szóval egyszerűbb mindenhova double-t megadni.

   
bolyzsolt - Törzstag | 607 hsz       Online status #177617   2012.04.04 18:56 GMT+1 óra  
Ahoj!
Épp a Chipmunkot portolom C# alá, és az eredeti C forrásban van egy typedef cpFloat, ami lehet float és double egy "kapcsoló" segítségével, így lehet pl. ARM-re float alapú binárist fordítani, PC-re meg double-t használót. Az a kérdésem, hogy ezt C# alatt hogyan lehetne hasonló funkcionalitással megoldani? Vagy a WP7-re történő fordítás esetében kioptimalizálja ezt valahogy a fordító?

   
Bukta - Tag | 308 hsz       Online status #175433   2012.02.28 10:34 GMT+1 óra  
Matzi:
1. Azt, hogy garantálja-e vagy sem az a maga dolga (T) - nyilván ha nem támogatja a + - * / egyikét akkor nem lehetne a where miatt odairni (ha lenne IAritmeticOp<T> ez már fordításkor kiderülne úgy mint a IComparable<T>-nél, az elv ugyanaz.
2. Van közös ős amibe benne van a CurrentValue, a From, a To és mind T típusú. A neve IAnim<T> (ezt a relatív első bejegyzésemben is odaírtam)
3. Mitől természetes az összehasonlítás? Ha csinálsz egy osztályt Alma néven akkor hogyan értelmezed azt hogy Alma < Alma (szín?, méret?, almafajta? ...)? Nyilván sehogy, hacsak nem írod le te magad, hogy hogy kell értelmezni (IComparable<T>.CompareTo()-ban le is írhatod). Ezt a módszert kéne a legalapvetőbb elemekre is értelmezni (int, float....) mert ez csak az embernek természetes, a fordítónak nem.
4. A 3. pont alapján kéne az összeadást is értelmezni, ugyanúgy interfészen keresztül és akkor nem lenne ilyen probléma, hogy 2 típus összeadható-e - fordításkor kiderülne.
5. Nem szidom a C#-ot mert nagyon jó eszközök vannak benne csak bosszantó, hogy egyszerű megoldásokat nem minden esetben tartalmaz (főleg ilyen alapdologban). Mindenhez át kell rágni magamat 80 osztályon mire eljutok valahova. Magyarán mondva: A .NET (főleg a wpf) "Átesik a ló másik oldalára".
6. Nem hiányzott belőle? pl.:
http://stackoverflow.com/questions/63694/creating-a-math-library-using-generics-in-c-sharp
http://www.codeproject.com/Articles/8531/Using-generics-for-calculations
Ők is keresik a megoldást rá, de ahogy én látom ezek a megoldások nem 100%-osak...
7. A WPF-be is van CurrentValue System.Windows.Media.Animation.Clock.CurrentProgress néven, csak a DependencyProperty-k miatt nehézkes aktiválni a clock-ot és egy időzítő csak egy értékhez köthető.
8. A CurrentValue-t tartalmazó osztály a 7. pont miatt nem vezérei önmagát, vagyis azért nem tudja maga az osztály h mi a CurrentValue értéke, mert egy másik vezérlő osztály rendeli hozzá a stopperórát (az IAnim<T>-hez!) - így egy Stopwatch-hoz több FromToDuration is tartozhat.

(Nem utolsó sorban két DateTime-t össze lehet adni, ugyanis van Add függvénye - a F#, J#, VB.NET kompatibilitás miatt - és van + operátora is ami leírja, hogy miként lehet összeadni két DateTime-t csak az a baj, hogy ez a DateTime.Add nem valami interfészen keresztül van, hanem csak lóg a levegőbe, mintha valami speckó függvény lenne amit csak ez az egy struktúra valósít meg.)

ui.: Egyetlen 90%-os megoldásom van jelenleg: type.InvokeMember("Add". A kompatibilitás miatt ami összeadható annak van Add függvénye -, de ez nincs kikötve - és így már megvalósítható lenne az összeadás. A baj még ezzel, hogy ez ugye lassabb modszer, de ez van ezt kell szeretni. A jó benne viszont az, hogy extension-nal is lehet Add függvényt írni egy osztálynak és azt is meghívja (pl Color-nak nincs Add függvénye)

Ezt a hozzászólást Bukta módosította (2012.02.28 10:51 GMT+1 óra, ---)
ArgumenException: A megadott DependencyObject nem ehhez a Freezable elemhez tartozó környezet. Paraméter neve: context
:oO Mi a???
   
Matzi - Szerkesztő | 2521 hsz       Online status #175428   2012.02.28 09:14 GMT+1 óra  
Bukta:
El kell hogy szomorítsalak, de ez koránt sem egy jó megoldás. Először is semmi nem garantálja, hogy a szorzás és az összeadás jól működik minden osztályra (pl Color, Matrix), persze ez még talán lehetséges. Aztán ha nem tudod a típust, és nincs közös ősük, akkor a megkapott CurrentValue-t is bajos bármire használni.

Az összehasonlítás azért van, mert az egy természetes dolog, két akármit megfoghatsz a valóságban és eldöntheted, hogy egyenlőek e. Ellenben az operátorok nem ilyenek, mondjuk két DateTime-ot összeadni elég vicces lenne, de ez még az osztályok nagy részére áll. A nem kizárólag valamiféle egyszerű adatot tárol az objektum, akkor már jó eséllyel értelmetlen rá az összes művelet. Nem értem ezért miért kell szidni a C#ot, nekem eddig egyszer sem hiányzott ez belőle, pedig pár éve már használom, még melóban is.

Nem ismerem a WPF-et, de minek kell neked a CurrentValue? Nem szolgáltatja valamilyen formában maga az osztály? Lévén ugye, ha animálok valamit, legalább az érintett objektumnak érdemes elárulni, hogy mi a túró legyen az aktuális értéke.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
Bukta - Tag | 308 hsz       Online status #175420   2012.02.27 23:10 GMT+1 óra  
FromToDuration animációt csinálok ugyanolyat mint ami a wpf-be van (DoubleAnimation), csak ez ugy működik, hogy egy Stopwatch az időzítő és a From-hoz mindig hozzáadom a %-nak megfelelő értéket.pl.:
From: 0
To: 10
Duration: 1000 ms
ilyenkor le lehet kérdezni a CurrentValue-t:
Kód:
ftd.CurrentValue = ftd.From + ftd.Acceleration * (stw.Elapsed.TotalMilliseconds / ftd.Duration.TotalMilliseconds);

Itt a gyorsulás az a to - from. És a lentebb írt osztály (Class1) valójában a FromToDuration<T> osztály. Nos a wpf-ben mindennek külön osztálya van (DoubleAnimatio, ColorAnimation), de mind from-to-by. Én nem akarok mindennek külön írkálni, hanem a Color, double, matrix... a T helyére kerülne, csak ugye a from-hoz hozzá kell adni a %-ot meg a to-t ki kell vonni a from-ból, meg a gyorulást double-val szorozni...meg összehasonlító operátorok is kellenek, habár azok már meg vannak oldva a CompareTo-val

Matzi: a tervezési hibára mindig rá lehet fogni, mert mindent meg lehet úgy tervezni, hogy jó legyen, de most nem erről van szó, hanem arrol, hogy az összehasonlító operátorokat be lehetett rakni a .net-be (IComparable), de az aritmetikaiakat nem. Most mér hagyták ki ezeket a + - * / % még egyszerű digitális egységek is tudják kb, de ebbe a nyüvekbe nem raktak IAritmetic interfészt :��� . Vagy csak én nem találom .

Ezt a hozzászólást Bukta módosította (2012.02.27 23:20 GMT+1 óra, ---)
ArgumenException: A megadott DependencyObject nem ehhez a Freezable elemhez tartozó környezet. Paraméter neve: context
:oO Mi a???
   
Matzi - Szerkesztő | 2521 hsz       Online status #175418   2012.02.27 22:42 GMT+1 óra  
Mivel rengeteg ember van akik mindkét nyelvvel meg van elégedve, tegyük fel, hogy esetleg el kéne sajátítani őket rendesen. Van rá némi esély, hogy ha valamit nem tudsz jól megcsinálni, akkor ott tervezési hiba van a háttérben.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
Kuz - Törzstag | 4455 hsz       Online status #175413   2012.02.27 19:23 GMT+1 óra  
Fordítsuk meg kicsit a dolgot, és ne az általad kitalált megoldást kelljen kijavítani, hanem mond meg, hogy konkrétan mi a problémád, hátha tudunk normális megoldást adni!
A memóriám már nem a régi. És ráadásul még a memóriám sem a régi...
Az élet attól szép, hogy bármi megtörténhet. És attól szar, hogy meg is történik...
Ha az egyik szinkronúszó megfullad, mit csinál a többi???

   
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] > 8 < [9] [10] [15] [20] [25] [30] [35] [40] [45] [46]