Rumah pangkalan data tutorial mysql Cocos2dx3.2 Crazy Tetris 基本设置及主菜单页面(菜单、按钮)

Cocos2dx3.2 Crazy Tetris 基本设置及主菜单页面(菜单、按钮)

Jun 07, 2016 pm 03:48 PM
asas sediakan

从本章开始就主要通过我制作 CrazyTetris 游戏的过程而展开。 制作伊始,我先大致地想象了一下整个游戏的流程: 因此,本章就是游戏入口以及开始菜单页面的制作。 游戏的入口主要是在 AppDelegate 中,这里主要是设置尺寸。考虑到最终是一款手机游戏,因此设

从本章开始就主要通过我制作Crazy Tetris游戏的过程而展开。

 

制作伊始,我先大致地想象了一下整个游戏的流程:

Cocos2dx3.2 Crazy Tetris 基本设置及主菜单页面(菜单、按钮)

因此,本章就是游戏入口以及开始菜单页面的制作。

 

游戏的入口主要是在AppDelegate中,这里主要是设置尺寸。考虑到最终是一款手机游戏,因此设计时以手机尺寸为主。这里选用480*720

 

设置窗口尺寸:

auto glview = director->getOpenGLView();

if(!glview) {
    	glview = GLView::create("Crazy Tetris");
	glview->setFrameSize(480, 720);
    	director->setOpenGLView(glview);
}
Salin selepas log masuk

设置设计尺寸及屏幕适配策略:

glview->setDesignResolutionSize(480, 720, kResolutionExactFit );
Salin selepas log masuk

设计尺寸之前屏幕适配有说过,设置好了后,游戏制作时的尺寸坐标就以该尺寸为基础就好了,遇到不同尺寸的设备,后根据相应屏幕适配策略进行调整。

setFrameSize是设置游戏窗口视图的大小,设置好这个后,在PC上运行时,窗口大小就是根据这个来的。


然后就是将入口场景从默认的HelloWorld改为自己的入口场景——主菜单场景:

// create a scene. it's an autorelease object
auto scene = MainMenu::createScene();
// run
director->runWithScene(scene);
Salin selepas log masuk

接下来就是主菜单的制作,主菜单很简单,就一张背景,两个按钮——开始游戏和退出游戏。因此这里主要就是添加背景以及菜单及菜单按钮的制作。

 

主菜单是一个场景,这个场景该怎么写,我这里不多做赘述,如需要可以查看我之前的博客——cocos2dx3.2 整体概览(三)—— Scene(场景)

必要的函数是

//创建场景
static cocos2d::Scene * createScene();
//初始化
bool init();
CREATE_FUNC(MainMenu);
Salin selepas log masuk

而添加背景和按钮菜单在init函数中实现就好了:

首先,获取相关坐标信息:

Size visibleSize = Director::getInstance()->getVisibleSize();
Vec2 origin = Director::getInstance()->getVisibleOrigin();
Salin selepas log masuk

然后,添加背景图片:

auto background = Sprite::create("Img/background/background.png");
background->setPosition(Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + 	origin.y));
this->addChild(background, 0);
Salin selepas log masuk

这里可以看出,背景也是一张图片,用Sprite将其载入,然后添加到场景中即可。设置位置时设置是设置图片中心所在位置,因此设置屏幕正中。

 

最后添加按钮:

auto startItem = MenuItemImage::create(	"Img/button/startgame.png",
											"Img/button/startgame_selected.png",
										CC_CALLBACK_1(MainMenu::menuStartCallback, this));
startItem->setPosition(Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));
auto exitItem = MenuItemImage::create(	"Img/button/exit.png",
											"Img/button/exit_selected.png",
									   CC_CALLBACK_1(MainMenu::menuExitCallback, this));
exitItem->setPosition(Vec2(origin.x + visibleSize.width - 						exitItem->getContentSize().width/2 - 35,	
origin.y + exitItem->getContentSize().height/2 + 35 ));
auto menu = Menu::create(startItem, exitItem, NULL);
menu->setPosition(Vec2::ZERO);
this->addChild(menu, 1);
Salin selepas log masuk

这里是添加图像按钮MenuItemImage,还可以添加纯文字的按钮或其他。

MenuItemImagecreate方法,这里使用了三个参数,依此的意义是普通状态下的按钮图片,被点击状态下的按钮图片以及该按钮点击时的回调函数。

CC_CALLBACK_1是引擎中的宏定义函数,是用来为目标对象绑定回调事件的,他的参数可以有许多,但是前两个是必须的,第一个参数是selector选择器,这里就当是被绑定的回调函数,第二个参数是target,就是绑定的目标对象。

定义好两个按钮后,将这两个按钮添加到菜单Menu中,(因此这两个按钮的坐标位置是Menu中的坐标),最后将Menu添加到场景中即可。

关于设置Menu的位置,可以把Menu想象成一个直角坐标系,设置它的位置就是设置其坐标原点的位置,Menu中的Item的位置就是根据这个直角坐标系来的。


另外就是按钮绑定的回调函数就是自己定义的一个函数,这里我在头文件中声明:

void menuStartCallback(cocos2d::Ref* pSender);
void menuExitCallback(cocos2d::Ref* pSender);
Salin selepas log masuk

在源文件中定义:

void MainMenu::menuStartCallback(cocos2d::Ref* pSender)
{
//	auto newScene = GameView::createScene();
//	Director::getInstance()->replaceScene(TransitionFade::create(1.2, newScene));  
}

void MainMenu::menuExitCallback(cocos2d::Ref* pSender)
{
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WP8) || (CC_TARGET_PLATFORM == CC_PLATFORM_WINRT)
	MessageBox("You pressed the close button. Windows Store Apps do not implement a close button.","Alert");
    return;
#endif

    Director::getInstance()->end();

#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
    exit(0);
#endif
}
Salin selepas log masuk

这样,就完成了主菜单界面。运行效果如下:

Cocos2dx3.2 Crazy Tetris 基本设置及主菜单页面(菜单、按钮)
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menetapkan masa yang dijadualkan untuk menerbitkan karya di Douyin? Bagaimanakah ia menetapkan tempoh video? Bagaimana untuk menetapkan masa yang dijadualkan untuk menerbitkan karya di Douyin? Bagaimanakah ia menetapkan tempoh video? Mar 27, 2024 pm 06:11 PM

Menerbitkan karya di Douyin boleh menarik lebih banyak perhatian dan suka, tetapi kadangkala sukar bagi kami untuk menerbitkan karya dalam masa nyata Dalam kes ini, kami boleh menggunakan fungsi keluaran berjadual Douyin. Fungsi penerbitan berjadual Douyin membolehkan pengguna menerbitkan karya secara automatik pada masa yang dijadualkan, yang boleh merancang pelan keluaran dengan lebih baik dan meningkatkan pendedahan serta pengaruh karya tersebut. 1. Bagaimana untuk menetapkan masa yang dijadualkan untuk penerbitan karya di Douyin? Untuk menetapkan masa keluaran yang dijadualkan, mula-mula pergi ke halaman utama peribadi Douyin, cari butang "+" di penjuru kanan sebelah atas dan klik untuk memasuki halaman keluaran. Terdapat ikon jam di penjuru kanan sebelah bawah halaman penerbitan Klik untuk memasuki antara muka penerbitan yang dijadualkan. Dalam antara muka, anda boleh memilih jenis kerja yang ingin anda terbitkan, termasuk video pendek, video panjang dan siaran langsung. Seterusnya, anda perlu menetapkan masa untuk karya anda diterbitkan. TikTok menyediakan

Menyediakan bahasa Cina dengan VSCode: Panduan Lengkap Menyediakan bahasa Cina dengan VSCode: Panduan Lengkap Mar 25, 2024 am 11:18 AM

Persediaan VSCode dalam Bahasa Cina: Panduan Lengkap Dalam pembangunan perisian, Visual Studio Code (VSCode ringkasnya) ialah persekitaran pembangunan bersepadu yang biasa digunakan. Bagi pembangun yang menggunakan bahasa Cina, menetapkan VSCode kepada antara muka Cina boleh meningkatkan kecekapan kerja. Artikel ini akan memberi anda panduan lengkap, memperincikan cara menetapkan VSCode kepada antara muka Cina dan menyediakan contoh kod khusus. Langkah 1: Muat turun dan pasang pek bahasa Selepas membuka VSCode, klik di sebelah kiri

Di manakah set tag Douyin? Bagaimanakah ia boleh ditag supaya ia boleh ditolak dengan tepat? Di manakah set tag Douyin? Bagaimanakah ia boleh ditag supaya ia boleh ditolak dengan tepat? Mar 27, 2024 am 11:01 AM

Sebagai salah satu platform video pendek paling popular di dunia, Douyin membenarkan semua orang menjadi pencipta dan berkongsi setiap detik kehidupan. Bagi pengguna Douyin, tag adalah fungsi yang sangat penting Ia boleh membantu pengguna mengklasifikasikan dan mendapatkan semula kandungan dengan lebih baik, dan juga membolehkan platform untuk menolak kandungan yang sesuai kepada pengguna dengan lebih tepat. Jadi, di manakah tag Douyin ditetapkan? Artikel ini akan menerangkan secara terperinci cara menyediakan dan menggunakan teg pada Douyin. 1. Di manakah set tag Douyin? Menggunakan teg pada Douyin boleh membantu pengguna mengklasifikasikan dan melabelkan karya mereka dengan lebih baik, menjadikannya lebih mudah untuk pengguna lain mencari dan mengikutinya. Kaedah untuk menetapkan label adalah seperti berikut: 1. Buka APP Douyin dan log masuk ke akaun anda. 2. Klik tanda "+" di bahagian bawah skrin dan pilih butang "Terbitkan". 3.

Cara menyediakan penerbitan berjadual di Weibo_Tutorial tentang cara menyediakan penerbitan berjadual di Weibo Cara menyediakan penerbitan berjadual di Weibo_Tutorial tentang cara menyediakan penerbitan berjadual di Weibo Mar 29, 2024 pm 03:51 PM

1. Buka klien Weibo, klik tiga titik kecil pada halaman penyuntingan, dan kemudian klik Siaran Berjadual. 2. Selepas mengklik pada penerbitan berjadual, akan ada pilihan masa di sebelah kanan masa penerbitan Tetapkan masa, edit artikel dan klik perkataan kuning di sudut kanan bawah untuk menerbitkan secara kerap. 3. Versi mudah alih Weibo pada masa ini tidak menyokong penerbitan berjadual Fungsi ini hanya boleh digunakan pada klien PC!

Mod Jangan Ganggu Tidak Berfungsi dalam iPhone: Betulkan Mod Jangan Ganggu Tidak Berfungsi dalam iPhone: Betulkan Apr 24, 2024 pm 04:50 PM

Malah menjawab panggilan dalam mod Jangan Ganggu boleh menjadi pengalaman yang sangat menjengkelkan. Seperti namanya, mod Jangan Ganggu mematikan semua pemberitahuan panggilan masuk dan makluman daripada e-mel, mesej, dsb. Anda boleh mengikuti set penyelesaian ini untuk membetulkannya. Betulkan 1 – Dayakan Mod Fokus Dayakan mod fokus pada telefon anda. Langkah 1 – Leret ke bawah dari atas untuk mengakses Pusat Kawalan. Langkah 2 – Seterusnya, dayakan “Mod Fokus” pada telefon anda. Mod Fokus mendayakan mod Jangan Ganggu pada telefon anda. Ia tidak akan menyebabkan sebarang makluman panggilan masuk muncul pada telefon anda. Betulkan 2 – Tukar Tetapan Mod Fokus Jika terdapat beberapa isu dalam tetapan mod fokus, anda harus membetulkannya. Langkah 1 – Buka tetingkap tetapan iPhone anda. Langkah 2 – Seterusnya, hidupkan tetapan mod Fokus

Bagaimana untuk menetapkan kekunci Enter untuk menghantar mesej dalam QQ Bagaimana untuk menetapkan kekunci Enter untuk menghantar mesej dalam QQ Mar 25, 2024 pm 07:10 PM

1. Pertama, klik pada desktop telefon mudah alih untuk memasuki QQ, dan klik pada avatar di sudut kiri atas. 2. Klik [Settings] di sudut kiri bawah. 3. Klik untuk membuka [Kebolehcapaian]. 4. Kemudian kita hanya perlu klik pada suis [Enter key to send message].

Bagaimana untuk menetapkan kira detik untuk merebut tiket di Damai Bagaimana untuk menetapkan kira detik untuk merebut tiket di Damai Apr 01, 2024 pm 07:01 PM

Apabila membeli tiket di Damai.com, untuk memastikan masa pembelian tiket dapat difahami dengan tepat, pengguna boleh menetapkan jam terapung untuk merebut tiket Kaedah tetapan terperinci di bawah, mari kita belajar bersama. Cara mengikat jam terapung ke Damai 1. Klik untuk membuka aplikasi jam terapung pada telefon anda untuk memasuki antara muka, dan klik pada lokasi di mana cek jualan kilat ditetapkan, seperti yang ditunjukkan dalam rajah di bawah: 2. Selepas datang ke halaman menambah rekod baru, klik pada Damai.com Salin halaman pautan pembelian tiket yang disalin. 3. Seterusnya, tetapkan masa jualan kilat dan masa pemberitahuan di bawah, hidupkan butang suis di belakang [Simpan ke Kalendar] dan klik [Simpan] di bawah. 4. Klik untuk menghidupkan [Countdown], seperti yang ditunjukkan dalam rajah di bawah: 5. Apabila masa peringatan tiba, klik butang [Start Picture-in-Picture] di bawah. 6. Apabila tiba masa pembelian tiket

Tempat untuk menetapkan cadangan dan pilihan Douyin Tempat untuk menetapkan cadangan dan pilihan Douyin Mar 27, 2024 pm 05:06 PM

Di manakah cadangan dan pilihan pada Douyin? Dalam video pendek Douyin, terdapat dua kategori: pemilihan dan pengesyoran Kebanyakan pengguna tidak tahu cara menyediakan cadangan dan pilihan Seterusnya ialah video pendek Douyin yang dibawa oleh editor kepada pengguna. Cadangan audio dan tutorial kaedah tetapan terpilih, pengguna yang berminat datang dan lihat! Tutorial penggunaan Douyin Tempat untuk menyediakan cadangan dan pilihan Douyin 1. Mula-mula buka APP video pendek Douyin dan masukkan halaman utama, klik pada kawasan [Saya] di sudut kanan bawah dan pilih [tiga garisan mendatar] di sudut kanan atas ; 2. Kemudian di sebelah kanan Bar fungsi akan berkembang, luncurkan halaman untuk memilih [Tetapan] di bahagian bawah 3. Kemudian pada halaman fungsi tetapan, cari perkhidmatan [Pengurusan Maklumat Peribadi] 4. Akhirnya lompat ke peribadi halaman pengurusan maklumat, slaid [Syor Kandungan Diperibadikan] 】Butang di bahagian belakang boleh ditetapkan.

See all articles