int aLeft, int ustida) {aDrawCanvas-> CopyMode = cmSrcAnd;
aDrawCanvas-> CopyRect (Rect (aLeft, aTop,
aLeft + Width, aTop + Height), SpriteCanvas, Rect (MaskLeft, MaskTop, MaskLeft + Width, MaskTop + Height));
aDrawCanvas-> CopyMode = cmSrcPaint;
aDrawCanvas-> CopyRect (Rect (aLeft, aTop,
aLeft + Width, aTop + Height), SpriteCanvas,
Rect (ImageLeft, ImageTop, ImageLeft + Width.ImageTop + Height));
}
7.8 ro'yxati. Sprite.cpp da Sprite sinf usullarini aniqlash
Bir kadrning suratini olish orqali animatsiya dasturining ishlashi haqida taassurot hosil qilish juda qiyin - ayniqsa qora va oq rangda (7.4-rasm). Kitob kompyuter multfilmlarini tarqatish uchun mos vosita emas. Agar sizni qiziqtirgan muammo bo'lsa, uni o'rganishning boshqa usuli yo'q, qanday qilib prototip sifatida ushbu ro'yxatlardan foydalanib rasmlar tayyorlash va o'z dasturlaringizni yaratish.
Anjir. 7.4. Ishlayotgan MOVEIT dasturining skrinshoti.
Shakllarning o'zi bir qator sinflarning namunasi emas, balki turdagi tuzilish massividir. Shu bilan birga, shakllar bilan ishlash mantig'ini tegishli FigureClass-ga kiritish uchun daho dasturchi bo'lishingiz shart emas, bu, xususan, perimetr xususiyati va harakatlanish usulini o'z ichiga oladi. Biroq, siz SpriteClass-ni shakl sinfidan meros qilib olmaysiz. Haqiqat shundaki, ushbu sinflarning misollari boshqa xarakterga ega: spritlar - grafik ob'ektlar, shakllar esa mantiqiy tuzilmalar. Agar sizga ikkitadan bir xil shakllarni animatsiya qilish kerak bo'lsa, ularning barchasi Fig [I] strukturasi maydonidan foydalangan holda bitta sprite sinfini bo'lishadi . I shaklini kerakli sprite instansiyasiga bog'lash uchun SD .
Samolyot yoki vertolyotning animatsiya fazalari tasvirlarini ko'rib chiqing. Har bir raqamning ikkinchi bosqichida parvona shunchaki yo'q. Fazalarni doimiy ravishda almashtirish orqali siz pervanelni aylantirish xayoliyligini yaratishingiz mumkin. Dastur haqiqiy aylanishni simulyatsiya qilmasligini bilib, shunga qaramay, kuzatuvchi dasturdan so'rang: "Pervanel qaysi tomonga aylanadi?" - va har qanday ishonchli javob sizni misolni dasturlash uchun vaqt sarflanganligiga ishontiradi . Siz boshqa ta'sirchan effekt haqida o'ylashingiz mumkin, masalan, avtomatni o'qqa tutish. Sprite ma'lumotlar bazasini qo'shimcha shakl bosqichlari va mos keladigan niqoblar bilan kengaytirish orqali siz turli xil effektlarga erishishingiz mumkin
tarkibiga
Do'stlaringiz bilan baham: |