တပ်ဦးမှဂရစ်ဖစ်, Layer ရွှေ့နှင့်ယူခဲ့ဖို့ကိုဘယ်လို

ဂရစ်ဖစ် manipulate ဖို့ Corona SDK ကိုအသုံးပြုခြင်း

အဆိုပါ Corona SDK ကိုအတွက်ဂရပ်ဖစ်ဖန်တီးကြိုးကိုင်နှင့်စီမံခန့်ခွဲမှု၏သော့ချက်အစိတ်အပိုင်း Display ရဲ့အရာဝတ္ထုဖြစ်ပါတယ်။ ဒီအရာဝတ္ထုဖိုင်တစ်ဖိုင်ကနေပုံတစ်ပုံကိုဖော်ပြရန်အသုံးပွုနိုငျမသာ, ဖြစ်ကောင်းနည်းတူအရေးကြီးသည်ကသင့်ရဲ့ပုံရိပ်တွေအုပ်စုအတူတကွခွင့်ပြုပါတယ်။ ဤသူသည်သင်တို့အသီးအသီးအခြားအထိပ်ပေါ်မှာတစ်ချိန်ကနှင့်အလွှာဂရပ်ဖစ်မှာမျက်နှာပြင်တဝိုက်ဂရပ်ဖစ်၏တစ်ဖွဲ့လုံးအစုံရွှေ့ပေးနိုင်ပါတယ်။

ဒီသင်ခန်းစာသင်သည်သင်၏စီမံကိန်းကိုအတွက်ဂရပ်ဖစ်တ္ထုစုစည်းဖို့ display ကိုအုပျစုမြားကို အသုံးပြု. ၏အခြေခံသင်ပေးပါလိမ့်မယ်။ ဤသည်နှစ်ခုကိုမတူညီတဲ့အလွှာပုံမှန် screen နှင့်ကထိပ်ပေါ်မှာနေရာချစကာရန်နောက်ထပ်ကိုယ်စားပြုနေတဲ့ပုံစံများအလွှာကိုယ်စားပြုတဦးတည်းအတွက်သရုပ်ပြလိမ့်မည်။ ဂရပ်ဖစ် layering အပြင်, ငါတို့သည်လည်းတစ်ခုလုံးကိုပုံစံများအုပ်စုတစ်စုကိုရွှေ့ဖို့အကူးအပြောင်းအရာဝတ္ထုကိုသုံးပါလိမ့်မယ်။

သင့်ရဲ့ App ကိုရောင်းချလုပ်နည်း

မှတ်ချက်: image1.png နှင့် image2.png: ဤသင်ခန်းစာနှင့်အတူလိုက်ပါရန်အလို့ငှာ, သငျသညျနှစျခုပုံရိပ်တွေလိုအပ်ပါလိမ့်မယ်။ ဤရွေ့ကားသင်ရွေးချယ်မည်သည့်ရုပ်ပုံများကိုဖြစ်နိုင်ပေမယ့်သင်က 100 pixels ကို 100 pixels ကိုလှည့်ပတ်ပုံရိပ်တွေရှိပါကအဆိုပါသင်ခန်းစာအကောင်းဆုံးအလုပ်လုပ်ပါလိမ့်မယ်။ ဒါဟာသင်အလွယ်တကူပုံရိပ်တွေဖို့ဘာတွေဖြစ်နေတယ်ဆိုတာကိုကြည့်ဖို့ခွင့်ပြုပါလိမ့်မယ်။

စတင်ခဲ့ပြီးရဖို့ကျနော်တို့ main.lua ဟုခေါ်တွင်ဖိုင်အသစ်တစ်ခုဖွင့်နှင့်ကျွန်ုပ်တို့၏ကုဒ်တည်ဆောက်ခြင်းကိုစတင်ပါလိမ့်မယ်:

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

ကုဒ်ဤအပိုင်းကိုကျွန်တော်တို့ရဲ့ UI စာကြည့်တိုက်ဖွင့်သတ်မှတ်နှင့် display ကိုအုပ်စုများမှတဆင့်မိန့်: displayMain, displayFirst နှင့် displaySecond ။ ကျနော်တို့ပထမဦးဆုံးကျွန်တော်တို့ရဲ့ဂရပ်ဖစ်ထပ်ထားပြီးတော့သူတို့ကိုရွှေ့ဖို့ထိုအကိုအသုံးပြုဖို့ပါလိမ့်မယ်။ ကျနော်တို့ကလှုပ်ရှားမှုမြင်နိုင်ပါသည်ထို့ကြောင့် global_move_x variable ကိုပြသမှုရဲ့ width ကို 20% အထိသတ်မှတ်ထားသည်။

function ကို setupScreen () displayMain: (displayFirst) ထည့်သွင်း; displayMain: (displaySecond) ထည့်သွင်း; displayFirst: toFront (); displaySecond: toFront (); ဒေသခံနောက်ခံ = display.newImage ( "image1.png" 0,0); displayFirst: (နောက်ခံ) ထည့်သွင်း; ဒေသခံနောက်ခံ = display.newImage ( "image2.png" 0,0); displaySecond: (နောက်ခံ) ထည့်သွင်း; အဆုံး

အဆိုပါ setupScreen function ကိုအဓိက display ကိုအုပ်စု display ကိုအုပျစုမြားကိုထည့်သွင်းဖို့ဘယ်လိုပြသသည်။ ကျနော်တို့လည်းငါတို့ထိပ်ပေါ်မှာနောက်ဆုံးကြေညာသည့်အချိန်အားလုံးချင်သောအလွှာနှင့်တကွ, ကွဲပြားခြားနားသောဂရပ်ဖစ်အလွှာကို set up ဖို့ toFront () function ကိုသုံးပါ။

ဒီဥပမာထဲမှာ, တကယ့်က displaySecond အုပ်စုတစ်စုကိုအောက်တွင်ဖြစ်ခြင်းမှ default ပါလိမ့်မယ်ကတည်းကအိမ်ရှေ့ဖို့ displayFirst ရွှေ့ဖို့လိုအပ်ပေမယ့်အတိအလင်းတစ်ခုချင်းစီကိုခင်းကျင်းပြသအုပ်စုကို layering များ၏အလေ့အထသို့ရဖို့သည်ကောင်းကိုမရ။ အများစုမှာစီမံကိန်းများကိုနှစ်ယောက်ထက်ပိုအလွှာနှင့်အတူတက်အဆုံးသတ်ပါလိမ့်မယ်။

ငါတို့သည်လည်းတစ်ဦးချင်းစီအုပ်စုပုံတစ်ပုံကိုထည့်သွင်းပါတယ်။ ကျွန်တော် app ကိုစတင်ရန်သောအခါ, ဒုတိယပုံရိပ်ပထမဦးဆုံးပုံရိပ်၏ထိပ်ပေါ်မှာဖြစ်သင့်သည်။

function ကို screenLayer () displayFirst: toFront (); အဆုံး

ကျနော်တို့ထားပြီး displayFirst အုပ်စုတစ်စု၏ထိပ်ပေါ်တွင် displaySecond အုပ်စုတစ်စုနှင့်အတူကျွန်တော်တို့ရဲ့ဂရပ်ဖစ် layered ပါတယ်။ ဒီ function ရှေ့မှ displayFirst ရွှေ့မည်။

function ကို moveOne () displaySecond.x = displaySecond.x + global_move_x; အဆုံး

အဆိုပါ moveOne function ကိုမျက်နှာပြင်အကျယ် 20% အားဖြင့်ညာဘက်ဒုတိယပုံရိပ်ရွှေ့မည်။ ကြှနျုပျတို့သညျဤ function ကိုခေါ်ခြင်းသောအခါ, displaySecond အဖွဲ့ displayFirst အုပ်စုသည်နောက်ကွယ်တွင်ဖြစ်လိမ့်မည်။

function ကို moveTwo () displayMain.x = displayMain.x + global_move_x; အဆုံး

အဆိုပါ moveTwo function ကိုမျက်နှာပြင်အကျယ် 20% အားဖြင့်ညာဘက်နှစ်ဦးစလုံးပုံရိပ်တွေရွှေ့မည်။ သို့သော်အစားတစ်ဦးချင်းတစ်ဦးချင်းစီအဖွဲ့ကိုရွေ့လျား၏, ငါတို့တစ်ချိန်တည်းမှာထိုနှစ်ပါးကိုရွှေ့ဖို့ displayMain အုပ်စုတစ်စုကိုသုံးပါလိမ့်မယ်။ ဒီအမျိုးစုံခင်းကျင်းပြသအုပ်စုများပါဝင်သောတစ် display ကိုအုပ်စုတစုကိုတစ်ကြိမ်မှာအများအပြားဂရပ်ဖစ် manipulate ဖို့အသုံးပြုနိုင်ပါတယ်ဘယ်လိုများစွာသောသာဓကဖြစ်ပါတယ်။

setupScreen (); timer.performWithDelay (1000, screenLayer); timer.performWithDelay (2000, moveOne); timer.performWithDelay (3000, moveTwo);

ကုဒ်၏ဤနောက်ဆုံးနည်းနည်းဒီ functions တွေ run တဲ့အခါမှာဘာဖြစ်သွားမလဲဆိုတာကိုပြသသည်။ ကျနော်တို့ app ကိုဖြန့်ချိပြီးနောက်ဒုတိယလုပ်ဆောင်မှုချင်းစီပယ်ပစ်ခတ်ဖို့ timer.performWithDelay function ကိုအသုံးပြုနိုင်သည်ပါလိမ့်မယ်။ သင်ဤ function ကိုအတူကျွမ်းတဝင်မရှိသောရောက်နေတယ်ဆိုရင်, ပထမဦးဆုံး variable ကိုမီလီစက္ကန်အတွက်ထုတ်ဖော်ပြောဆိုခြင်းနှင့်ဒုတိယနှောင့်နှေးဖို့အချိန်ကျွန်တော်နှောင့်နှေးပြီးနောက်ကို run ချင်သော function ကိုဖြစ်ပါတယ်။

သင် app ကိုဖြန့်ချိတဲ့အခါမှာ, သင် image1.png ၏ထိပ်ပေါ်မှာ image2.png ကြသင့်ပါတယ်။ အဆိုပါ screenLayer function ကိုပစ်ခတ်နှင့်မျက်နှာစာမှ image1.png ဆောင်ခဲ့ဦးမည်။ အဆိုပါ moveOne function ကို image1.png အောက်တွင်ထံမှထွက် image2.png ရွှေ့မည်ကို၎င်း, moveTwo function ကိုတစ်ချိန်တည်းမှာနှစ်ဦးစလုံးပုံရိပ်တွေရွေ့လျားပြီးခဲ့သည့်ပစ်ခတ်ပါလိမ့်မယ်။

တစ်ဦးအနှေးအိုင်ပက် Fix ဖို့ကိုဘယ်လို

ဤအုပ်စုများ၏တစ်ဦးချင်းစီကသူတို့ကိုအတွက်ပုံရိပ်တွေများစွာရှိနိုင်တယ်လို့မှတ်မိဖို့အရေးကြီးပါတယ်။ အဆိုပါ moveTwo function ကိုကုဒ်တွေထဲကလိုင်းနှင့်အတူနှစ်ဦးစလုံးပုံရိပ်တွေပြောင်းရွှေ့မယ့်အဖြစ်နှင့်အညီ, အုပ်စုတစုအတွင်းအားလုံးပုံရိပ်တွေအုပ်စုအားပေးရပညတ်တော်တို့ကိုယူပါလိမ့်မယ်။

နည်းပညာပိုင်း, အ displayMain အုပ်စုတစ်စုကအတွင်းပါရှိသောနှစ်ဦးစလုံး display ကိုအုပ်စုများနှင့်ရုပ်ပုံများကိုရှိနိုငျတယျ။ သို့ရာတွင်ထိုသို့ပိုကောင်းအဖွဲ့အစည်းကိုဖန်တီးနိုင်ရန်အတွက်မည်သည့်ပုံရိပ်များမရှိဘဲအခြားအုပ်စုများဘို့ကွန်တိန်နာအဖြစ် displayMain လုပ်ရပ်နဲ့တူအချို့သောအုပ်စုများပါစေရန်ကောင်းသောအလေ့အကျင့်ဖြစ်ပါတယ်။

ဒီသင်ခန်းစာ Display ရဲ့အရာဝတ္ထု၏အသုံးပြုမှုကိုမှန်ကန်စေသည်။ Display ရဲ့အရာဝတ္ထုအကြောင်းပိုမိုလေ့လာပါ။

အိုင်ပက် Apps ကပ Developing ဘယ်လို Started ရယူပါ