Diskuze: Správný návrh událostí
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 7 zpráv z 7.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Nechci zakládat nové vlákno. Nevíte proč to padá :/
tx = new Texture2D(device, rect.Width, rect.Height);
Color[] p = new Color[rect.Width * rect.Height];
for (int i = 0; i < p.Length; i++)
p[i] = Color.Blue;
tx.SetData(p);
Spadne to hned na prvním řádku, kdy se zakládá textura
HRESULT: [0x80070057], Module: [Unknown], ApiCode: [Unknown/Unknown], Message: The parameter is incorrect.
Používám MonoGame pro Win8 (Metro). Nesetkali jste se s tím někdo ?
Jen jsem natom koukl, použilíval jsi to už v praxi? Jde mi jen o to, že
tam je docela dost věcí, které ti chybí(nebo alespoň mi by chyběly), ale
na ně přijdeš sám postupem času 
Btw, řekl bych že se VS nebude líbit, že máš nazvanou třídu jako jejich,
ale tím si teď nejsem jistý.
EDIT: K tvojí chybě našel jsem toto:
Looks like a corrupted assembly being referenced.
Clear both:
the \bin folder of your project
the temp folder (should be C:\Users\your_username\AppData\Local\Temp\Temporary ASP.NET Files in windows 7)
and see if the error still happens
from stackoverflow.com
Tak jsem ještě googloval a vypadá to na nějaké dll-ka nebo něco s registrama, však dej do googlu ten error + typ OS a chybu vyřešíš i sám.
Ano, vytvoření takto textury v klasickém XNA / MonoGame pro Desktop funguej zcela v pořádku. V projektu i na jiných místech takto taky tvořím textury a funguje to. Textury slouží jenom pro debug (zde například kolize myši s tlačítkem).
Když nevyužívám WinForm stejný název podle mě nevadí 
Prosím znova o pomoc. Mám tedy třídu Button obsahující event Click. Ve třídě Menu (představuje menu), mám několik Buttonu. Každému Buttonu přiřazuju stejnou metodu pro obsluhu Click.
double width = g.CoreScreen.Bounds.Width;
double height = g.CoreScreen.Bounds.Height;
string[] names=new string[]{"New Game","Load Game","Settings"};
for (byte i = 0; i < 3; i++)
{
Vector2 size=g.FontGinkoBig.MeasureString(names[i]);
buttons.Add(new Button(null,g.FontGinkoBig,new Vector2((int)(width/2-size.X/2),250+(i*size.Y+25)),names[i],i));
buttons[i].Click+=Menu_Click;
}
Metoda Menu_Click
private void Menu_Click(object sender, EventArgs e)
{
Button btn = (Button)sender;
switch (btn.ID)
{
case 0: break;
case 1: break;
case 2: break;
}
}
Třída Button
class Button
{
Texture2D texture;
Rectangle rect;
Vector2 textPosition;
SpriteFont font;
Color color;
string text;
public byte ID { get; private set; }
public event EventHandler Click;
public event EventHandler Hover;
public Button(Texture2D texture, SpriteFont font, Vector2 position, string text, byte id )
{
this.texture = texture;
this.text = text;
this.font = font;
this.ID = id;
Hover += Button_Hover;
color = Color.White;
Vector2 fontSize = font.MeasureString(text);
int size = (int)(fontSize.X);
this.textPosition = new Vector2(position.X + text.Length, position.Y);
this.rect = new Rectangle((int)textPosition.X, (int)textPosition.Y, size, font.LineSpacing);
}
void Button_Hover(object sender, EventArgs e)
{
color = Color.Red;
}
public void Draw(BetterSpriteBatch spriteBatch)
{
if (texture != null)
spriteBatch.Draw(texture, rect, Color.White);
spriteBatch.DrawString(font, text, textPosition,color);
}
public void Draw(BetterSpriteBatch spriteBatch, Texture2D tx)
{
if (texture != null)
spriteBatch.Draw(texture, rect, Color.White);
spriteBatch.Draw(tx, rect, Color.White);
spriteBatch.DrawString(font, text, textPosition, color);
}
public void Update(Rectangle mouse,bool clicked)
{
color = Color.White;
if (CheckCollision(mouse) && clicked)
{
Click(this, EventArgs.Empty);
}
else if (CheckCollision(mouse))
Hover(null, EventArgs.Empty);
}
public bool CheckCollision(Rectangle rect)
{
return this.rect.Intersects(rect);
}
}
Při kliknutí se v pohodě metoda Menu_Click zavolá, sender se správně
přetypuje na Button ale jakmile to skočí do switche hází mi to tuto
chybu
(DisconectedContextException)
Transition into COM context 0xa1e948 for this RuntimeCallableWrapper failed with the following error: Exception from HRESULT: 0xE0434352. This is typically because the COM context 0xa1e948 where this RuntimeCallableWrapper was created has been disconnected or it is busy doing something else. Releasing the interfaces from the current COM context (COM context 0xa1e890). This may cause corruption or data loss. To avoid this problem, please ensure that all COM contexts/apartments/threads stay alive and are available for context transition, until the application is completely done with the RuntimeCallableWrappers that represents COM components that live inside them.
Prosím, co dělám špatně ? Nebo je návrh zcela v pořádku a já zase mám někde nějakou pitomost ?
//EDIT
Když vyhodím switch a zkusím to přes podmínky, vše funguje. Co je tohle
zase za chybku ?
Nevíte někdo ?
Zobrazeno 7 zpráv z 7.