GH GambleHub

Hereket dizaýny we animasiýa interfeýsleri

1) Önümde animasiýa näme üçin?

Animasiýa wagt nawigasiýasydyr. Ol:
  • sebäp-netije baglanyşyklaryny düşündirýär (nirä ýitdi, element nireden geldi),
  • esasy herekete ünsi gönükdirýär,
  • netijäni tassyklaýar (feedback) we aň-düşünjäni azaldýar,
  • geçişleri öňünden aýdyp boljak we "duýgur" edýär.

1-nji düzgün: manysy> stili. Islendik animasiýa "näme boldy we meniň bilen nähili baglanyşygy bar?" Diýen soraga jogap berýär ».

2) Esasy ýörelgeler

1. Hereket iýerarhiýasy: ilki konteýnerler, soňra mazmuny, soňra jikme-jiklikler hereket edýär.
2. Yzygiderlilik: birmeňzeş hereketler üçin birmeňzeş nagyşlar.
3. Tygşytlamak: iň az häsiýet, iň az işgär; has gysga we has düşnükli.
4. Realistik fizika: başynda tizlenmek, ahyrynda haýallamak; "bökmek" ýok.
5. Yzyna gaýdyp gelmek: "yza" aýna "öňe" duýulýar.
6. Elýeterlilik: Animasiýany azaltmak üçin ulgam sazlamalaryna hormat goýuň.

3) Dowamlylygy we egrileri (teklipler)

3. 1 Dowamlylygy (desktop/mobile)

Hover: 120-180 ms

Focus/Pressed: 80–120 мс

Tooltip/Toast: giriş 180-240 ms, çykyş 120-160 ms

Modalkalar/drouerler: 200-320 ms

Ekran geçişleri: 240-360 ms

Aýlawlar/paralaks: segment üçin 200 ms ≤, tükeniksiz aýlawlardan gaça duruň

3. 2 Egri

Esasy: 'cubic-bezier (0. 2, 0. 0, 0. 2, 1) '- tebigy "material" depgini

Giriş has çalt, çykyş has ýumşak: 'cubic-bezier (0. 05, 0. 7, 0. 1, 1)`

Çeýeligi (seýrek, aksent): 'cubic-bezier (0. 2, 0. 8, 0. 2, 1. 2) 'overshoot çäklendirmesi bilen ≤ 8px/8 °

Düzgün: Bir wagtyň özünde hereket etmek we opacity üçin çyzykly interpolýasiýany ulanmaň - "mehaniklik" duýgusy.

4) Geçişleriň horeografiýasy

Görnüşi: ýeňil masştab 0. 98→1. 0 + fade-in, ýüze çykýan okda 8-16 px.
Ýitip gitmek: yzyna sargyt, girmekden has çalt (20-30% −).
Bellikleri üýtgetmek/üýtgetmek: umumy "esas" (konteýner) 16-24 px-e geçýär; işjeň goýma hereket başlamazdan ozal görkezilýär.
Sanawlar: kaskady gowşadyň (stagger 20-40 ms/element, 6-8 elementden köp bolmaly däl).

5) Mikro-özara täsirler (patterns)

Düwme (hover/press): kölege + ýeňil gizlin/scale 0. 98; pressed 80 ms ≤ bökýär.
Fokus: blursyz gapma-garşylyk halkasy; glow däl-de, galyňlygy/aç-açanlygy animasiýa ediň.
Input: çarçuwany focus-a bölmek/yşyklandyrmak; ýalňyşlyklar - sarsdyrmak ≤ 6 px, ≤ 140 ms, 1 aýlaw.
Toggle/Checkbox: snap iň soňky ýagdaýa çenli, basmagyň gijikdirilmegi 60-80 ms-den köp bolmaly däldir.
Skelet/ýüklemek: shimmer 1200-1600 ms, ýagtylyk amplitudasy ≤ 20%, ýiti çyralar ýok.

6) Mazmunyň ýagdaýy

Ýüklemek → Success/Empty/Error: hereketiň bir "kanaly"; dürli ugurlary garyşdyrmaň.
Toast/Alerts: hadysanyň çeşmesinden gelýär (mysal üçin, ulanyjynyň hereketleri üçin aşaky sag).
Pull to refresh: elastik poslama bilen uzalmak; yzyna gaýtarmak wagty ≤ 250 ms.

7) Elýeterlilik (A11y) we howpsuzlyk

'prefers-reduced-motion: reduce': fade/scale ≤ 1% ýa-da statik geçişi çalyşyň.
Sekuntda> 3 çyralaryndan we uly kontrast şöhlelerinden (fotosensitiw epilepsiýa) gaça duruň.
Ulanyjylarda güýçli parallax/zoom ulanmaň; öçürmek mümkinçiligini beriň.
Fokus stilleri animasiýasyz hemişe görünýär (diňe reňk/hereket däl).

8) Öndürijilik (maksat hökmünde 60 FPS)

Diňe opacity we transform (translate/scale/rotate) animasiýa ediň; 'top/left/width/height' -den gaça duruň.
Kompozisiýany açyň: 'transform: translateZ (0)' ýa-da 'will-change: transform, opacity' (ortaça).
Repaint iň az: köp elementli kölegeleri we süzgüçleri animasiýa etmäň.
Batçlara uly geçişleri döwüň; requestAnimationFrame.
Sanawlar üçin - ekrandan daşarda wirtualizasiýa/gaýtadan düzmek.

9) Dizaýn ulgamyndaky motion bellikleri

json
{
"motion": {
"duration": { "xs": 100, "sm": 160, "md": 220, "lg": 280, "xl": 340 },
"easing": {
"standard": "cubic-bezier(0. 2, 0. 0, 0. 2, 1)",
"emphasis": "cubic-bezier(0. 05, 0. 7, 0. 1, 1)",
"decelerate": "cubic-bezier(0. 0, 0. 0, 0. 2, 1)",
"accelerate": "cubic-bezier(0. 4, 0. 0, 1, 1)"
},
"stagger": { "listItem": 30, "maxItems": 8 }
}
}

Именование: `motion.{duration|easing|stagger}.{role}` — `hover`, `focus`, `overlayIn`, `pageTransition`, `listItem`.

10) Durmuşa geçirmek (CSS/JS/React)

CSS üýtgemeleri:
css
:root {
--motion-dur-sm: 160ms;
--motion-dur-md: 220ms;
--motion-ease: cubic-bezier(0. 2, 0, 0. 2, 1);
}
@media (prefers-reduced-motion: reduce) {
{ animation: none! important; transition-duration: 0. 01ms! important; }
}
Komponent (Framer Motion, mysal):
tsx import { motion, AnimatePresence } from "framer-motion";

export function Modal({ open, children }) {
return (
<AnimatePresence>
{open && (
<motion. div initial={{ opacity: 0 }}
animate={{ opacity: 1, transition: { duration: 0. 22 } }}
exit={{ opacity: 0, transition: { duration: 0. 16 } }}
className="fixed inset-0 bg-black/50"
>
<motion. div initial={{ y: 16, scale: 0. 98, opacity: 0 }}
animate={{ y: 0, scale: 1, opacity: 1, transition: { duration: 0. 24, ease: [0. 2,0,0. 2,1] } }}
exit={{ y: 8, scale: 0. 99, opacity: 0, transition: { duration: 0. 18 } }}
className="m-auto max-w-lg rounded-2xl bg-white p-6"
>
{children}
</motion. div>
</motion. div>
)}
</AnimatePresence>
);
}

Lottie/SVG: suratly boş ýagdaýlar we onboarding üçin ulanyň; möhüm gözegçilikler üçin däl. Optimizirläň we kesiň.

11) Ýüklemek nusgalary

Kontentiň gurluşy belli bolan ýerinde spinneriň ýerine skeleton.
Progress: ösüş belli bolsa, kesgitlenen bar; indeterminirlenen - deň depginde, "bökmezden".
Üýtgedilende "ýüzýän" skeletondan gaça duruň - ölçegleri düzüň.

12) Sahypalaryň/ekranlaryň arasyndaky geçişler

Üns nokadyny saklaň (shared element transitions) - kartoçka jikme-jik "açylýar".
"Çuň" nawigasiýa öňe/sag/ýokary, "yza" - yza; platforma üçin ýeke-täk ugur.
Fon substraty 40-60% -e çenli garalýar.

13) iGaming aýratynlyklary

Spin/Reveal: bir gysga tizlenme (≤ 200 ms) + birmeňzeş aýlanma + ýumşak azalma; hereketsiz tükeniksiz aýlawlara gadaganlyk.
Win/Jackpot: ýagtylygyň ýokarlanmagy ≤ 500 ms, gapysyz; pes sesli ses bilen iki gezek; ýeňşiň teksti okalýar (kontrast boýunça AAA).
Ýaryşlar/reýtingler: hasap inkrementi - tablisaly sanlar we ýeňil ädimli hasaplaýjy 40-60 ms/birlik (batç), "bökmezden" layout.
Jogapkär oýun: ünsüni sowmaýan bildirişler we çäkler; animasiýa iň az, okalmaga ünsi jemleýär.

14) Anti-patternler

Gijä galmak> 120 ms.
"Lift" opacity + scale -den 0. 9→1. 05→1. 0 s overshoot her bir owershoot.
Skroll bilen gapma-garşylykly fon paralaksy.
Tükeniksiz titremeler/impulslar.
Köp elementde layout/paint ('height', 'left', 'filter: blur ()') aýratynlyklarynyň animasiýasy.
Hereketleriň dowamlylygy we dowamlylygy birmeňzeş.

15) Proses we QA

Dizaýnda:
  • Taýmingli/egrili prototipler; freým derejesinde horeografiýa.
  • Motion-tokenleriň katalogy we komponentler üçin mysallar.
Ösüşde:
  • Görnüklilik/ýagdaýlaryň unit-synaglary (geçişler garaşylyşy ýaly tamamlanýar).
  • Wizual synaglar (animasiýalaryň ahyrynyň snapshotlary).
  • Iň köp ýüklenen sahnalarda profillemek (Performance/Timeline).
Çek sanawy:
  • 'prefers-reduced-motion' tarapyndan goldanyldy.
  • Diňe transform/opacity.
  • Dowamlylygy we egrileri belliklere laýyk gelýär.
  • Çyralar ýok> 3/sek we güýçli strobe.
  • Spinner ýerine skeleton.
  • Geçişler tersine we öňünden aýdyp bolýar.

16) Dizaýn-ulgamdaky resminamalar

"Motion-tokenler": duration/easing/stagger mysallar bilen.
"Geçişleriň patternleri": modallar, sanawlar, tablar, sahypalar.
"A11y & Performance": reduce-motion we kompoziting boýunça gollanma.
"Do/Don 't": üstünlikli/şowsuz mysallar bilen gysga klipler.

Gysgaça gysgaça

Hereket dizaýny sebäpleriň we netijeleriň dilidir. Taýmingleri gysga saklaň, egrileri utgaşdyryň, häsiýetleri bolsa render üçin arzan. Elýeterlilige hormat goýuň, bellikleri dokumentleşdiriň we öndürijiligini barlaň. Şonda animasiýa UX-ni güýçlendirer we interfeýsiň tizligine we aýdyňlygyna päsgel bermez.

Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.