Diskuze: Timer- pomoc
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Použil bych DispatcherTimer a na něm událost Tick.
Díky, ale ve jmeném prostoru System.WIndows.Threading DipatcherTimer
nemám
a nemůžu ho najít nikde
jinde.
v Update máš přece ElapsedTime, vem si z toho seconds a přes modulo si zjisti u které části animace jsi.
Po mírných upravách by to mělo fungovat:
V metodě update:
// posun mraků doleva
pozice.X--;
// návrat na startovní pozici po vyjetí z obrazovky
if (pozice.X < -(mraky.Width))
pozice.X = 0;
// změna barvy mraků dle směru
zmena += smer;
if (zmena >= 96)
smer = -1;
if (zmena <= 0)
smer = 1;
Je to popsané v tutoriálu na XNA v 3 díle tak se na to koukni...
Díky moc všem
, nakonec je problém s časováním
vyřešen:
//Nahore v LoadContent je zapnuta animace "Action".
float cekani = (float)Parent.Engine.GameTime.ElapsedGameTime.TotalSeconds;
prodleva += cekani;
if (prodleva > 7)
{
player.StartClip(skinningData.AnimationClips["ActionN"]);
if (prodleva > 8.5f)
{
player.StartClip(skinningData.AnimationClips["Action"]);
prodleva = 0;
}
}
ALE..:) Buhužel se ActionN nepřehraje, pouze se přeruší Action a za tu 1
sekundu se zase začne přehrávat Action, ale to už je jiný problém ještě jednou díky
Zobrazeno 9 zpráv z 9.