چگونه به لایه، انتقال و ارزیابی گرافیک به جلو

استفاده از Corona SDK برای مدیریت گرافیک

مولفه اصلی ایجاد، مدیریت و مدیریت گرافیک در Corona SDK شیء نمایش است. نه تنها این شی را می توان برای نمایش یک تصویر از یک فایل استفاده کرد، شاید مهمتر از آن، به شما امکان می دهد که تصاویر خود را با هم ترکیب کنید. این به شما اجازه می دهد مجموعه ای کامل از گرافیک را در اطراف صفحه نمایش در یک بار و گرافیک لایه در بالای یکدیگر حرکت دهید.

این آموزش به اصول اولیه استفاده از گروه های نمایشی برای سازماندهی اشیا گرافیکی در پروژه شما آموزش می دهد. این با ایجاد دو لایه مختلف نشان داده می شود که یکی از آنها صفحه نمایش معمولی است و دیگری نشان دهنده یک لایه مدال برای قرار دادن در بالای آن است. علاوه بر لایه بندی گرافیک، ما همچنین از شی انتقال برای حرکت تمام گروه مدال استفاده می کنیم.

چگونه به بازار برنامه شما

توجه: برای پیگیری همراه با این آموزش، شما نیاز به دو تصویر دارید: image1.png و image2.png. این می تواند هر تصویری که شما انتخاب می کنید، اما آموزش بهتر خواهد بود اگر شما تصاویر در حدود 100 پیکسل در 100 پیکسل. این به شما این امکان را می دهد که به راحتی ببینید چه اتفاقی برای تصاویر می افتد.

برای شروع، یک فایل جدید به نام main.lua باز می کنیم و شروع به ساختن کد می کنیم:

displayMain = display.newGroup ()؛ displayFirst = display.newGroup ()؛ displaySecond = display.newGroup ()؛ global_move_x = display.contentWidth / 5؛

این قسمت از کد کتابخانه ui ما را ایجاد می کند و از طریق گروه های نمایش نشان می دهد: displayMain، display First و displaySecond. ما از این برای اولین بار لایه گرافیکی ما را استفاده می کنیم و سپس آنها را حرکت می دهیم. متغیر global_move_x به 20٪ از عرض صفحه نمایش تنظیم شده است، بنابراین ما می توانیم حرکت را ببینیم.

function setupScreen () displayMain: درج (display First)؛ displayMain: قرار دادن (displaySecond)؛ displayFirst: toFront ()؛ displaySecond: toFront ()؛ پس زمینه محلی = display.newImage ("image1.png"، 0،0)؛ displayFirst: قرار دادن (پس زمینه)؛ background background = display.newImage ("image2.png"، 0.0)؛ displaySecond: درج (پس زمینه)؛ پایان

تابع setupScreen نشان می دهد که چگونه برای اضافه کردن گروه های نمایش به گروه نمایش اصلی. ما همچنین از تابع toFront () برای تنظیم لایه های مختلف گرافیکی استفاده می کنیم، با لایه ای که ما می خواهیم در بالا تمام زمان اعلام آخرین.

در این مثال، واقعا لازم نیست که صفحه نمایش را به جلو برگردانید زیرا به طور پیشفرض در زیر گروه دوم نمایش داده خواهد شد، اما خوب است که عادت به صراحت لایه بندی هر گروه نمایش داده شود. بیشتر پروژه ها با بیش از دو لایه به پایان می رسد.

ما همچنین یک تصویر برای هر گروه اضافه کردیم. هنگام شروع برنامه، تصویر دوم باید بالای تصویر اول باشد.

function screenLayer () displayFirst: toFront ()؛ پایان

ما قبلا گرافیک خود را با گروه displaySecond در بالای گروه displayFirst قرار داده ایم. این تابع displayFirst را به جلو حرکت می دهد.

عملکرد motionOne () displaySecond.x = displaySecond.x + global_move_x؛ پایان

تابع motionOne تصویر دوم را به سمت راست با 20 درصد از عرض صفحه حرکت می دهد. وقتی این تابع را فراخوانی می کنیم، گروه نمایشگرهای ثانویه پشت گروه displayFirst قرار می گیرد.

عملکرد motionTwo () displayMain.x = displayMain.x + global_move_x؛ پایان

عملکرد motionTwo هر دو تصویر را به سمت راست با 20٪ از عرض صفحه حرکت می دهد. با این حال، به جای اینکه هر گروه را به صورت جداگانه حرکت دهیم، از گروه displayMain برای حرکت همزمان آنها در هر زمان استفاده خواهیم کرد. این یک نمونه عالی است که چگونه یک گروه نمایش داده شده که شامل گروه های نمایشگر چندگانه است می تواند مورد استفاده قرار گیرد تا چندین گرافیک را در یک زمان دستکاری کند.

setupScreen ()؛ timer.performWithDelay (1000، screenLayer)؛ timer.performWithDelay (2000، moveOne)؛ timer.performWithDelay (3000، moveTwo)؛

این آخرین بیت کد نشان می دهد چه اتفاقی می افتد هنگام اجرای این توابع. ما از تابع timer.performWithDelay برای خنثی کردن توابع هر ثانیه بعد از اجرای برنامه استفاده می کنیم. اگر شما با این تابع آشنا نیستید، اولین متغیر زمانی است که تاخیر بیان شده در میلی ثانیه و دوم تابع است که ما می خواهیم پس از آن تاخیر اجرا کنیم.

هنگام اجرای برنامه، باید image2.png را در بالای تصویر1.png داشته باشید. تابع screenLayer آتش خواهد کرد و image1.png را به جلو می برد. تابع motionOne از image1.png خارج از image2.png حرکت می کند و عملکرد motionTwo آخرین بار در حال حرکت است، در حالیکه هر دو تصویر در همان زمان حرکت می کنند.

چگونه یک اپل آهسته را رفع کنیم

مهم این است که به یاد داشته باشید که هر یک از این گروه ها می توانند در تعداد زیادی تصاویر داشته باشند. و همانطور که تابع moveTwo هر دو تصویر را با یک خط کد منتقل می کند، تمام تصاویر داخل یک گروه دستورات داده شده به گروه را می گیرند.

به طور فنی، گروه displayMain می تواند هر دو گروه نمایش داده شده و تصاویر موجود در آن داشته باشد. با این حال، یک روش خوب برای اجازه دادن به برخی از گروه ها مانند نمایش displayMain به عنوان ظروف برای گروه های دیگر بدون هیچ گونه عکس به منظور ایجاد سازمان بهتر است.

این آموزش از شیء نمایشگر استفاده می کند. درباره شیء نمایش اطلاعات بیشتر بدانید.

چگونه شروع به توسعه برنامه های اپل