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

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2188
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]
Matzi - Szerkesztő | 2520 hsz       Online status #164578   2011.09.20 10:42 GMT+1 óra  
Bukta:
Jah, ha átváltod a fókuszt, akkor a felhasználó kiugrik az ablakon, hogy ő gépelne a szövegdobozba, de nem ott van a fókusz.
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 #164575   2011.09.20 10:37 GMT+1 óra  
Azt tudom, hogy WPFbe van külön Preview- és sima KeyDown esemény a vizuális fa miatt, de winformba kapásból nemtom hogy is van ez a ProcessKeyMessage féle szülő-gyerek kapcsolat, ha ez tényleg az. Google-n utána kell nézni, de sztem a Focus() megoldás a leg1xűbb.
ArgumenException: A megadott DependencyObject nem ehhez a Freezable elemhez tartozó környezet. Paraméter neve: context
:oO Mi a???
   
Pretender - Törzstag | 2498 hsz       Online status #164572   2011.09.20 10:33 GMT+1 óra  
@Bukta: "gondolom, mert a controlon belül egyre ráugrik a fókusz, amit sajnos muszáj megtenni."

   
Matzi - Szerkesztő | 2520 hsz       Online status #164561   2011.09.20 09:51 GMT+1 óra  
Van egyszerű megoldás rá. Ha jól rémlik, akkor a ProcessKeyMessage pont ezt csinálja. Lényegében megkapja a szülő a billentyű üzeneteket, és ha nem dolgozza fel, akkor tovább adja a gyerek controlloknak. Szóval ezt elég a formban felülírni, és ott eldönteni, hogy mit kezel ő, és mit enged a gyerekeinek.
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 #164557   2011.09.20 09:31 GMT+1 óra  
Hát ez nem nehéz
Kód:
// uj vezérlő létrehozása
amirolElment_a_Fokusz.Focus(); // ez egy vezérlő és visszateszi a fokuszt rá
...
amirolElment_a_Fokusz_BillEseménye(sender,e)
{
    //ez a blokk ujra résen lesz
}

Am ez a Focus() a Control osztályba van alias a Form is tudja a ContainerControl->ScrollableControl után.

Ezt a hozzászólást Bukta módosította (2011.09.20 09:37 GMT+1 óra, ---)
ArgumenException: A megadott DependencyObject nem ehhez a Freezable elemhez tartozó környezet. Paraméter neve: context
:oO Mi a???
   
Parallax - Tag | 581 hsz       Online status #164524   2011.09.19 22:42 GMT+1 óra  
Most én is kérdezek. Van egy form az alkalmazásomban (ami egy winforms-os program), ezen egy panel. A panelen váltakoznak controlok (user control rajta minden egyéb beépített control, ami kell), ez tulajdonképpen a rendszer "ablakainak" megfelelő rész. A billentyűzet kezelést úgy próbálgatom, hogy a form megkap egy keyDown eseményt és meghívja a panelen lévő control bizonyos metódusát átadva a kódot.

Ez eddig tök jó, csak a felhasználóknak van egy olyan perverziója, hogy kizárólag billentyűzettel hajlandóak dolgozni. (tök logikus windows-ban billentyűzettel ) Ahogy egy újabb control lesz a panelen a billentyűzet érzékelés eltűnik a form hatásköre alól, gondolom, mert a controlon belül egyre ráugrik a fókusz, amit sajnos muszáj megtenni.

A kérdés az, hogy hogy a jóistenben lehet megoldani, hogy a form minden körlmény között () képes legyen figyelni a billentyű leütést, gondolok itt mondjuk F gombokra, de nem lényeges. Arra jutottam már, hogy DirectInput-hoz kell folyamodni a winforms-al ezt most nem látom megoldhatónak 100%-ban. Bent se tudnak erre mit mondani, hisz alavetően ez egy egeres cókmók, ilyen hülyeséggel még nem kínlódtak ők se eddig. Hűtha itt valaki összetalálkozott márt ezzel. Ha nem, akkor DirectInput, legalább vlami JF lesz az ügyvitelben.

   
Bukta - Tag | 308 hsz       Online status #164498   2011.09.19 18:45 GMT+1 óra  
De ami nincs azt meg kell csinálni.
Szerencsére még nem találkoztam win32-es szinttel. De kiváncsi lennék hogy olyankor mi van, mit ír ki. Nekem eddig a legdurvább exception ez volt itt lent:
ArgumenException: A megadott DependencyObject nem ehhez a Freezable elemhez tartozó környezet. Paraméter neve: context
:oO Mi a???
   
Parallax - Tag | 581 hsz       Online status #164415   2011.09.19 06:13 GMT+1 óra  
Bukta: Nem feltétlenül kell megcsinálni. Ahogy Meyers mondaná a bátrabbak védőháló nélkül ugranak a cirkuszban. Nem kell mindig minden körülmények között exception handling, futtató, meg egyéb biztonsági hókusz-pókusz. Ezeket a dolgokat elég csak a játéklogika részen csinálni és inkább script rendszer formájában.

Egyébként nincs mindenre hatalma a .NET-nek sem. Például a resource kezelés közben elég jól ki tud fagyni win32 szinten. Ilyenkor jól jön az a rutin, amikor az ember nincs hozzászokva ahhoz, hogy mindenre egy kap egy szép hosszú részletes hibalistát, helyette kap egy semmitmondó valamit.

   
Bukta - Tag | 308 hsz       Online status #164355   2011.09.18 19:08 GMT+1 óra  
Idézet

Ha ez lenne esetleg kombinálva egy rendes keretrendszerrel (ami messziről kerüli a .NET-et), és 100% cross-platform lenne (-> nem kell trükközni a Monoval), akkor csak ezt ajánlanám.


Meg kell csinálni. Meg kell csinálni! ... csak nehogy elk..tuk legyen a vége
Csinálni kell egy saját CLR-t. A futtatórendszer csinálja ugyis a belassítást, ott van a GC, exception handler, cls, meg mittomén mi. Ezeket mindig elfelejtem, pedig már 100x olvastam, hallottam, h mibol áll a CLR...
ArgumenException: A megadott DependencyObject nem ehhez a Freezable elemhez tartozó környezet. Paraméter neve: context
:oO Mi a???
   
Tibsy - Tag | 307 hsz       Online status #164236   2011.09.17 12:33 GMT+1 óra  
rossz az aki rosszra gondol XD
   
LugaidVandroiy - Törzstag | 504 hsz       Online status #164233   2011.09.17 12:06 GMT+1 óra  
Jólvan, nem is azért írtam, hogy kötekedjek, vagy bármi, csak az a "kondó", az nagyon hasonlított valamire

   
Tibsy - Tag | 307 hsz       Online status #164232   2011.09.17 11:49 GMT+1 óra  
sorry el írtam .. én is ember vagyok nekem is szabad hibázni !.
. nem is egyszer
   
Kuz - Törzstag | 4455 hsz       Online status #164196   2011.09.16 23:57 GMT+1 óra  
Tibsy ha jól tudom külföldi, tőle ezt nézzük el.
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???

   
Parallax - Tag | 581 hsz       Online status #164183   2011.09.16 22:08 GMT+1 óra  
Idézet
LugaidVandroiy :
Srsly, mi a halál az a "kondó" meg a "kodó"?


A meg nem értett zseniknek saját szótáruk van.

   
Kuz - Törzstag | 4455 hsz       Online status #164155   2011.09.16 20:55 GMT+1 óra  
Zavart érzek az Erőben.
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???

   
LugaidVandroiy - Törzstag | 504 hsz       Online status #164153   2011.09.16 20:51 GMT+1 óra  
Srsly, mi a halál az a "kondó" meg a "kodó"?

Az én teljesen szubjektív véleményem: C# jó nyelv, főleg kezdőknek, mert egy rakat terhet levesz a válladról. Ha ez lenne esetleg kombinálva egy rendes keretrendszerrel (ami messziről kerüli a .NET-et), és 100% cross-platform lenne (-> nem kell trükközni a Monoval), akkor csak ezt ajánlanám.

Egyébként kezdésnek egy C# és XNA kombó tökéletes.

   
Parallax - Tag | 581 hsz       Online status #164132   2011.09.16 20:17 GMT+1 óra  
Idézet
Tibsy :
Hi
egy programozása foglalkozó cikkben olvastam, egy furcsaságot aról szólt, hogy állítólag a visual nyelvek PL: vC# valamivel lassabban fút le mint más régebbi programozási nyelvek .
ok azt tudom, hogy a Kodók 91 % ismétlődő ellenőrzések -böl áll ,és ettöl kicsit lassú
de ha kettő Kondót ugyan úgy írunk meg. akkor tényleg lassabban végzi el feladatot a visual-nyelv ?


Nem hiszem, hogy érdemes még ezzel foglalkoznod, de némileg lassabban igen. Range checking, exception handling, rakás ellenőrzés az egyik. Röptében IL-ből CPU kódra fordítás és futtatás ellenőrzötten a másik. Lényegében "régebbi" magasszintű OOP nyelven se nehezebb semmivel programozni, legfeljebb ahhoz nincs készen egy csomó framework, amiket a modernebbekhez alapból szállítanak. De ez játékfejlesztésnél szintén nem szempont, mert ezek szinte kivétel nélkül üzleti komponensek, adatbázis kezelő segéd rendszerek stb.

Szóval ilyeneken szerintem totál fölösleges aggódni addig, amíg olyan szintre el nem jutsz.

   
Tibsy - Tag | 307 hsz       Online status #164122   2011.09.16 19:32 GMT+1 óra  

Ezt a hozzászólást Tibsy módosította (2011.09.17 11:45 GMT+1 óra, ---)
   
Bukta - Tag | 308 hsz       Online status #164113   2011.09.16 18:44 GMT+1 óra  
pac-man-nél nem, de nehogy vmi világsikerű dolgot írjatok, me akk lehet h rákérdenek, de nemtom
ArgumenException: A megadott DependencyObject nem ehhez a Freezable elemhez tartozó környezet. Paraméter neve: context
:oO Mi a???
   
Parallax - Tag | 581 hsz       Online status #164104   2011.09.16 17:33 GMT+1 óra  
Idézet
Bukta :
Ott a vcs 20xx expess edition, le lehet tölteni ingyenes csak reg kodot kell kérni, de ígyis free. Vagy az ee-be nincs ilyen performance analysis? vagy mi - csak stopwatch


Hogy lenne már, de otthonra nem tök mindegy? Szerintem nem töri rád senki az ajtót, hogy milliárdokkal károsítottad meg a céget, mert a pac-man-t az Ultimate-el írod.

   
Bukta - Tag | 308 hsz       Online status #164101   2011.09.16 17:10 GMT+1 óra  
Ott a vcs 20xx expess edition, le lehet tölteni ingyenes csak reg kodot kell kérni, de ígyis free. Vagy az ee-be nincs ilyen performance analysis? vagy mi - csak stopwatch
ArgumenException: A megadott DependencyObject nem ehhez a Freezable elemhez tartozó környezet. Paraméter neve: context
:oO Mi a???
   
Kuz - Törzstag | 4455 hsz       Online status #164045   2011.09.15 21:11 GMT+1 óra  
Ez mekkora már! Írom is...

Szerk.: bugos az egész coderun, mégsem jó.

Ezt a hozzászólást Kuz módosította (2011.09.15 21:44 GMT+1 óra, ---)
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???

   
Parallax - Tag | 581 hsz       Online status #164043   2011.09.15 21:04 GMT+1 óra  
Idézet
Kuz :
Meg kéne názni, hogy az interface-es, vagy a generikus megoldás megy gyorsabban, csak itthon nincs c#-om.


Ez nem kifogás, tessék a webes VS-t használni, hiszen felhőkorszakban vagyunk, vagy mi.

   
Kuz - Törzstag | 4455 hsz       Online status #164042   2011.09.15 21:00 GMT+1 óra  
Meg kéne názni, hogy az interface-es, vagy a generikus megoldás megy gyorsabban, csak itthon nincs c#-om.
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???

   
Bukta - Tag | 308 hsz       Online status #164015   2011.09.15 19:29 GMT+1 óra  
Tibsy: ne is hallgass rájuk - nah ez csak vicc volt. A lényeg, hogy legyen C# könyved, min 10 jegyzeted gépeden (sok 100 oldal), internet (msdn.com), .net&xna&amithasználsz doksi - google,wiki, jf.hu (hogy ne érezd magad egyedül mint fejlesztő), akarat, kitartás, egyediség(a gondolat, hogy egyedi vagy az is elég). Jah és néhány év - csak ez idő alatt ne a plafont nézd .

Nah de a lényegre térve Kuz kösz a helpet, de épp most jutottam el oda, hogy műkszik amit beszéltünk, csak teljesen máshogy csináltam a dolgokat.Van benne minden, bonyolút a kod - nested class, <T> whereel sok eventel, interfésszel -, annak is örülök ha nem keveredek bele uhh nem is fűzök hozzá semmit. Jó és cool
Kicsit késtem, de sok dolog volt a heten keveset gépetem
ArgumenException: A megadott DependencyObject nem ehhez a Freezable elemhez tartozó környezet. Paraméter neve: context
:oO Mi a???
   
Kuz - Törzstag | 4455 hsz       Online status #163951   2011.09.15 13:41 GMT+1 óra  
Türelem és sok gyakorlás. Mivel suli nélkül nehéz programozást tanulni, ezért azt mondom nyugodtan kezdd el az xna-t. Még tanult programozóként is sok marhaságot csinálnál, szóval ettől nem kell félni. Itt lehet kérdezni, megpróbálunk segíteni, aztán majd alalkulnak a dolgok. Nem kell egyből Crysist fejleszteni, az elején már az is jó, ha 'okosan' ki tudsz rajzolni úgy 100 különböző kis képet, hogy emiatt nem kell 100 különböző osztályt megcsinálnod, csak egyet, ami képes bármelyik képet kezelni. Sok szar megoldáson fogsz keresztülmenni, mire elérsz oda, hogy valamennyire használható megoldásokat fogsz tudni gyártani. Én olyan 2004 óta foglalkozok programozással, de még most is csinálok olyan megoldásokat, hogy a saját kezemet törném el legszívesebben.
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???

   
Tibsy - Tag | 307 hsz       Online status #163949   2011.09.15 13:12 GMT+1 óra  
alig várom már hogy én is legyek
   
Parallax - Tag | 581 hsz       Online status #163750   2011.09.13 15:13 GMT+1 óra  
Igen csak ezek borzasztó összetett dolgok, mindenképp alapokkal kell indítani akkor is ha ez rangon alulinak tűnik. Mindennek van bizonyos érési ideje, végig kell járni a dolgokat elejétől. Ezt csak azért írom, mert az látszik, hogy alapokkal vergődsz sok esetben.

   
Tibsy - Tag | 307 hsz       Online status #163747   2011.09.13 15:02 GMT+1 óra  
Parallax -én nem váltóztattam meg semmit ugyan úgy a vC#- és a neoaxis , unity- enginénél maradok , csak én tovább gondoltam azt is ha majd 1x én is tudok majd programozni az elég lesz e aXna-hoz ,csak egy ártatlan kérdésem volt semmi több .
   
Parallax - Tag | 581 hsz       Online status #163741   2011.09.13 13:47 GMT+1 óra  
Idézet
Tibsy :
U.I
a vC# -alapok elegendő ahhoz, hogy el kezdjek XNA-t tanulni vagy ahhoz kell még tanulni valamit vC #-al kapcsolatba ?:


Mióta itt kérdezősködsz, csak azt látom, hogy váltogatsz nyelveket, engine-eket meg mindent, de előrehaladást még nem fedeztem fel. Meg kell tanulni programozni, de nem úgy, hogy minden héten másikat kezdesz el. Változók, vezérlési szerkezetek stb. Az XNA, meg egy csomó matek, számítógépes grafika ismeret, engine írás alapok, egy halom dolog. Akár egy Lua-val is neki lehet kezdeni programozni tanulni és szöveges játékot írni. Az XNA egy nagyon távoli dolog ehhez képest a .NET-ről már nem is beszélve.

   
Pretender - Törzstag | 2498 hsz       Online status #163694   2011.09.13 05:50 GMT+1 óra  
Idézet
Tibsy :
Kuz köszi,
így most már értem minek lett ki találva a több fajta ki írási lehetőség ,De amúgy még nem esek neki a Xna -nak csak tudni akartam ,hogy menyit kell még szenvednem mire, azt is érdemes lesz tanulni .. a tervezés meg egy olyan dolog szerintem, amit nem lehet csak úgy tanulni , inkáb ki kell tapasztalni kezdetleges projektek formájában !
és ha kérhetem a Kedves szót mellőzük .. . Mert egyáltalán nem vagyok az !


Látom Kuz elmondta még egyszer ugyan azt, amit én (csak kicsit hosszabban )

   
Kuz - Törzstag | 4455 hsz       Online status #163685   2011.09.13 00:16 GMT+1 óra  
Kód:
//Ősosztály, tartalmazza a közös tulajdonságokat, pl egy Rectangle-t.
class MainObjectInformation
{
...
   //Ha kell, akkor persze lehet ellenőrzést tenni a get/set-be,
   ///itt most nem ez a lényeg.
   public Rectangle BaseRectangle
   {
      get {}
      set {}
   }
}

public class EgyikClass : MainObjectInformation
{
   //Mivel a MainObjectInformationből - hiszen az őse - örököl
   //minden mezőt, így alapból lesz BaseRectangle-je.
}

public class MasikClass : MainObjectInformation
{
   //Szintén...
}

-----------------------------------------------------------------------------------

//MainObjectInformation listbe pakolhatunk olyan objektumokat,
//amik belőle származnak.

List<MainObjectInformation> ojjektumok =
   new List<MainObjectInformation>();

ojjektumok.Add(new EgyikClass(...));
ojjektumok.Add(new EgyikClass(...));
...
ojjektumok.Add(new MasikClass(...));
ojjektumok.Add(new MasikClass(...));
...

----------------------------------------------------------------------------
//T, K : ezek lehetnének Juliska, Mariska is, ez itt egy
//megnevezés. Fogd fel úgy, mintha int, string vagy más
//típus név lenne. A 'where' részt így lehet kiovasni:
//'Ahol kikötöm, hogy T csak MainObjectInformation
// típusú lehet, K pedig - jelen esetben szintén -
//MainObjectInformation típusú.

public static bool Collided<T, K>(
   T ValamilyenOjjektum, K MasikfeleOjjektum)
where T : MainObjectInformation
where K : MainObjectInformation
{
   ...
//Mi jellemző a MainObjectInformation? Hogy van egy
//BaseRectangle propertyje. Itt nem kell ismernem az
//EgyikClass és a MásikClass többi mezőjét, bőven elég,
//hogy annyit tudok, hogy mindkettő MainObj... lehet csak,
//és pl int, vagy string nem. Erre a fordító is figyel, és már
//rossz típussal sem tudod meghívni a Collided-ot,
//cserébe, amikor írom a kódot az Object - mivel az
//mindenkinek az őse - metódusai mellett látni fogom a
//MainObj... publikus propertyjét is!

...
return (ValamilyenOjjektum.BaseRectangle.Intersects(
   MasikfeleOjjektum.BaseRectangle));
}


Remélem nem basztam el semmit, a kódot fejből írtam.

Szerk.:
Kód:
//Ja, és a meghívása, pl:

int i = ..; j = ...; //mindegy, két jól beálított index legyen,
                         //pl ciklusban.
if(Collided(ojjektumok[i], ojjektumok[j]))
{
   ...
}
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???

   
Tibsy - Tag | 307 hsz       Online status #163684   2011.09.13 00:15 GMT+1 óra  
Kuz köszi,
így most már értem minek lett ki találva a több fajta ki írási lehetőség ,De amúgy még nem esek neki a Xna -nak csak tudni akartam ,hogy menyit kell még szenvednem mire, azt is érdemes lesz tanulni .. a tervezés meg egy olyan dolog szerintem, amit nem lehet csak úgy tanulni , inkáb ki kell tapasztalni kezdetleges projektek formájában !
és ha kérhetem a Kedves szót mellőzük .. . Mert egyáltalán nem vagyok az !
   
Kuz - Törzstag | 4455 hsz       Online status #163683   2011.09.12 23:58 GMT+1 óra  
Kód:
string valami = "valami szöveg";

1. Console.WriteLine(v);
2. Console.WriteLine("a" + v);


A kettő - bár lesz egy 'a' eltérés - egyenértékű művelet. Miért? Mert a zárójelen belüli rész string konkatenáció, semmi köze a Console.WriteLine-hoz.

Kód:
string valami2 = "a" + v;
Console.WriteLine(valami2); //valami2 ugyanaz, mint "a" + v


A kényelem kedvéért használhatsz paramétereket is ( { }-k között, számokkal felsorolva, ahol a szám a paraméter indexe lesz), mert ugye a kezdők és az indiaiak programoznak csak "de csak 1 változóm lesz, nem csinálok általános megoldást" módon.
Kód:
string s1 = "Ilyen";
string s2 = "módon"
Console.WriteLine("{0} {1} {2} {3}", s1, s2, "kedves", "Tib" + "sy"); //na ebben kb minden van. :D


Utóirat: még az alapokkal sem vagy eléggé tisztában, játékfejlesztéshez tervezési ismeretek sem ártanak. Amúgy meg kezdd el.
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???

   
Tibsy - Tag | 307 hsz       Online status #163682   2011.09.12 23:48 GMT+1 óra  
Pretender köszönöm .de fére érteted a kérdésem,mert a példa programomban direkt csak 1 db-változot vezetem be !,, amit a console.write{"0",a}; modszerel is ki lehet iratni ,, na de akkor miért van a másik 2 megoldás, ez Console.WriteLine(a); és ez Console.WriteLine("a="+A); amikor mind a ketö ugyan aazt csinálja ,mint a leg első ??!? de mind 1 úgy nézki hogy csak nekem , tűnik marhaságnak ugyan azt a problémát ,meg oldani 3 féle képen ami tulajdon képen , ugyan azt csinálja mint a többi ...

Kuz ha már, így ajánlgatód a fóráskodot akkor én kíváncsi lennék rá hogy a te kínai nyelvre hasonlító le írásod, valójában milyen forrás kódot is takar, legalább abból is tanulnék .

U.I
a vC# -alapok elegendő ahhoz, hogy el kezdjek XNA-t tanulni vagy ahhoz kell még tanulni valamit vC #-al kapcsolatba ?:

Ezt a hozzászólást Tibsy módosította (2011.09.12 23:54 GMT+1 óra, ---)
   
Kuz - Törzstag | 4455 hsz       Online status #163604   2011.09.12 15:22 GMT+1 óra  
Bukta: most akkor hol jársz a megoldásban? Van olyan közös osztály, ami tartalmaz rectangle-t/circle-t/sphere-t/akármit? Mert kicsit visszaolvastam és hát amit írtam generikus metódust, az nekem is külön statikus osztályban van, tehát pontosan ez a megoldás kell neked. Csak a where-ben add meg, hogy az objektumoknak, amit paraméterben megadhatsz a közös ősből kell származniuk, és akkor már a Collided metódusodban is látni fogod a rectangelt/cicle-t/etc. Ha még mindig nem érthető, esküszöm írok rá egy rendes példát, bár otthon most nincs c#-om, de megoldom itt bent.
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???

   
Bukta - Tag | 308 hsz       Online status #163599   2011.09.12 14:50 GMT+1 óra  
Kuz

Ha van egy Circle objektumod, és van egy Rect objektumod, mi alapján ütközteted őket? Úgy értem a Circle milyen fieldje ütközik a Rect milyen fieldjével? Tehát 1-1 rectangle ütközik egymással, vagy mi történik?


Hát a rect és circle ütközés még nincs megoldva matematikailag, de majd azon is töröm a fejem...
ArgumenException: A megadott DependencyObject nem ehhez a Freezable elemhez tartozó környezet. Paraméter neve: context
:oO Mi a???
   
Parallax - Tag | 581 hsz       Online status #163510   2011.09.11 20:47 GMT+1 óra  
Kedves Tibsy!

Kéne már egy tükör arról a varázsmányról az adatokkal, amiben tároljuk a cuccost, kinyomatni nekünk majd exportba. Ja meg a struktúrfüggönyökről egy doksi, mert a kollégákkal már belebonyolódtunk ebbe a klászfába aztán nagyon nem jó ez így. Ez a sok kivezetés nem tiszta teljesen, nálunk minden fában van entítusfüggönyökkel, szal tök más a szitu. Csak te segíthetsz, mert a többi dilettáns kínai nyelven beszél, legalább mi tartsunk már össze szakmabéliek.

Na csövesz!

   
Tibsy - Tag | 307 hsz       Online status #163508   2011.09.11 20:44 GMT+1 óra  
Kuz -
éppenséggel igen mert 3 féle oktató anyagból tanulom és mindegyik másképp magyarázta el .
másrészt nem csak csinálni akarom hanem érteni is hogy mért úgy csinálom ahogy
Rem.meg érted hogy a dolgok mögött megbújó infókra is kíváncsi vagyok !
   
Kuz - Törzstag | 4455 hsz       Online status #163503   2011.09.11 20:35 GMT+1 óra  
Komolyan ez a legnagyobb gondod?
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???

   
Pretender - Törzstag | 2498 hsz       Online status #163501   2011.09.11 20:31 GMT+1 óra  
Mert mondjuk ha az kell, hogy
Kód:
"{0}, a nevem {1}. Nagyon örülök, hogy találkoztam veled {2}", a, b, c)

akkor sokkal kényelmesebb, mint darabonként összerakni....

   
Tibsy - Tag | 307 hsz       Online status #163487   2011.09.11 19:22 GMT+1 óra  
hi
miért van a xC# nyelvben ilyen sok ki vezetés ?... miközben mindegyik ugyan azt csinálja .


string A = "szia";
Console.WriteLine(a);
Console.WriteLine("a="+A);
Console.WriteLine("a={0}", A);
Console.Read();

Ezt a hozzászólást Tibsy módosította (2011.09.11 19:41 GMT+1 óra, ---)
   
Parallax - Tag | 581 hsz       Online status #163469   2011.09.11 16:22 GMT+1 óra  
Alapvetően minden objektumnak circle ütközése van kezdésnek és utána, ha az talált, akkor rectangle, vagy polygon, pixel akármi ellenőrzés tovább. De ez már nem C# kérdése, OO tervezés.

   
Kuz - Törzstag | 4455 hsz       Online status #163429   2011.09.11 11:10 GMT+1 óra  
Ha van egy Circle objektumod, és van egy Rect objektumod, mi alapján ütközteted őket? Úgy értem a Circle milyen fieldje ütközik a Rect milyen fieldjével? Tehát 1-1 rectangle ütközik egymással, vagy mi történik?
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???

   
Bukta - Tag | 308 hsz       Online status #163421   2011.09.11 10:08 GMT+1 óra  
Aha értem mit mondasz, csak nekem van egy Collision osztály és oda van minden Intersect berakva. Nem úgy van hogy Rectangle.Intersect(...) Circle.Intersect(...). És ha jól vettem a lapot akkor így gondoltad:
Kód:
pubic interface IShape // IShape volt van lesz a közös ős
{
    Rect rect {get; (set;) } Circle circ {get;(set;) } ....
}
class Rect : IShape {} class Circle : IShape {} // ezeket biztos külön osztályba kell rakni :)

és ishapeT.rect.Intersect(ishapeU.circ)
itt se lehet tudni hogy a ishapeT.rect nem-e = null-al, mert hát egy objectnek csak egy lehet ami nem null. Vagy a rect, vagy a circ vagy a mittoménmi. Ezzel az a baj, hogy tul sok adat lenne kitöltetlenül meg ha uj IShape leszármazott jönne be akkor az összes osztálynak meg kéne azt az uj típust valósítania és ha sok shape van akkor ez gázos lehet. Az osztály-interface kapcsolat az a kodomban is igy van - csak nincs benne a rect, circ az interfaceba (más van benne de az most nem ide vágó téma). Sztem erre gondoltál, ha jól értelmeztem.
A lényeg, hogy ez sehogy se lehet teljesen automatikus - a reflectiont (Type) azért nem is probálgatom mert az nagyon belassítja -, mindig marad valami amit meg kell nézni hogy nem-e null. Én sztem a "var"-os megoldást választom. Az nem sokasítja annyira a kod méretét mint ez a fajta interfészes. Max "is"-el ott is végig kell nézni h hol null és hol nem a Shape-eket meg csak bedobálom enum-ba vagy xml-ből beolvasom és azokat vizsgálom.
ArgumenException: A megadott DependencyObject nem ehhez a Freezable elemhez tartozó környezet. Paraméter neve: context
:oO Mi a???
   
Parallax - Tag | 581 hsz       Online status #163418   2011.09.11 09:33 GMT+1 óra  
Bukta a PHP scriptnyelv, ha a C# ot is így akarod használni, akkor dynamic típus kell neked. Az megeszik mindent, úgy használod, ahogy jól esik. Viszont, ahogy Kuz írta tervezési hiba, ha futás időben kell tpusokat konvertálgatni. Ez nem scriptnyelv.

   
Kuz - Törzstag | 4455 hsz       Online status #163400   2011.09.11 00:09 GMT+1 óra  
Generikusoknál mindig a legszűkebb rendelkezésre álló metódusok halmazából válogathatsz. Ha nem kötsz ki típust, akkor csak az Object osztály metódusait hívhatod (tostring, gettype, etc). A fordító már fordítási időben is figyel erre (illetve, amikor írod a generikus metódusod, már akkor is csak a rendelkezésre álló metódusokat hívhatod meg az objektumaidon). Ha a where részben kikötöd, hogy milyen típusból jöhetnek be objektumok, akkor a fordító lesz annyira okos, hogy már fordítási időben látni fogja az ezen típusokra vonatkozó metódusokat (erre is igaz, hogy amikor írod a metódust, már látni fogod ezeket).

Természetesen, ha nincs közös ős, vagy interface a különböző osztályaidnak, akkor nehéz helyzetben vagy, de ebben az esetben valószínűleg tervezési hibába ütköztél (sok kezdő általában nem gondolja át, hogy a különböző osztályoknak milyen közös pontjai lehetnek, és mindent megírnak annyiszor, ahány típust ők szeretnének, jelen esetben pl csinálnak egy külön osztályt az alma-nak és egyet a korte-nek, holott ezek kb 99%-ban megegyeznek).

Első tippem - mivel nem ismerem a kódod -, hogy használj interface-t. Mivel gondolom(?) rectangle intersected van, ezért csinálj egy interfacet, amiben egy rectangle property van, majd minden osztályod implementálja ezt. Ha nem találtam el, akkor inkább vázold, hogy az osztályaid hogyan néznek ki, mert szerintem van egyszerűbb megoldás is, mintsem minden osztályra megírni, hogy mi-mivel-hogyan ütközhet.
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???

   
Bukta - Tag | 308 hsz       Online status #163386   2011.09.10 22:05 GMT+1 óra  
Kuz: a T és K-ról ki kell deríteni hogy milyen típusok ezek különben honnét tudod hogy ezt:
return (m_rRectangle1.Intersects(m_rRectangle2)); kell használni és nem ezt: return (m_rRectangle1.Intersects(circle)); vagy return (circle.Intersects(circle));
és ez így már "kivételezés".
Asylum: szintén. Mi van ha a2 = null ? Akkor nincs ütközés? Ezt úgy tudnám elképzelni hogy bool? a return value és vmi bejárással nézegelődök, hogy melyik nem null. (Jah és az other biztos h elszáll körténél - Parallaxé nem - ugyanis ez egy erősen típus nyelv, nem lehet csak ugy dobállozni a szavakkal mint C,C++,PHP-be-ba-be)
De viszont van a "var" kulcsszó. Sztem ez lesz a megoldás. Mivel mindennek más az ütközés kódja ezért mind1iknek meg kell írni külön-külön. Ez 100. Van az a kód, hogy:
Kód:
var qry = from item in list
               select item;

nah ezt be lehet járni foreachal: foreach (string str in qry) vis futásidőben ez egy konkrét típus lesz és itt lenne a lényeg.ugyanis a köv kod átcsúszik a fémdetektor (fordító) ellenőrzésén.
Kód:
var se = obj.gyümölcs;
se = (Alma)se;

Máris átvágtam a fordítót. Ha van két változom akkor: Collision.Intersect(se1,se2);így ha teccik ha nem akkor is a Collision.Intersect(Alma a,Alma s); fut le pl. (ha se1 is Alma & se2 is Alma). De ezzel is van problem:
1. Ezt most találtam ki. -> elméletileg van csak meg
2. Valszínü h ez a se = (Alma)se; kivételt dob. Így akko talált az eset ha nem dob kivételt -> futásidőben kéne rájönni, hogy mivel kenjem meg a kenyeret (ugy ahogy a foreach-os kód fentebb).if (se is Alma) jó csak...
3. a foreach azért jó mert IEnumerable<vmi> típus az a qry valójában.
De ha a foreachnak sikerült kiszedni belőle a típust akkor nekem is sikerülnie kéne.
A nagy kérdés: Hoogyaaan?

Ezt a hozzászólást Bukta módosította (2011.09.10 22:29 GMT+1 óra, ---)
ArgumenException: A megadott DependencyObject nem ehhez a Freezable elemhez tartozó környezet. Paraméter neve: context
:oO Mi a???
   
Asylum - Törzstag | 5448 hsz       Online status #163339   2011.09.10 16:01 GMT+1 óra  
C++ -ban nincs (még) auto kulcsszó
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Parallax - Tag | 581 hsz       Online status #163338   2011.09.10 15:37 GMT+1 óra  
C#:
Kód:
var a2 = other as Alma;
    if( a2 != null )
        other.  ...


C++
Kód:
if (auto p = dynamic_cast<Alma *>(other))
    p->...


Szerintem.

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