| 
									
										
										
										
											2017-10-13 11:42:36 +08:00
										 |  |  |  | #include "..\Easy2D\easy2d.h"
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-14 01:07:34 +08:00
										 |  |  |  | int WINAPI WinMain( | 
					
						
							| 
									
										
										
										
											2017-12-08 19:50:59 +08:00
										 |  |  |  | 	HINSTANCE hInstance, | 
					
						
							|  |  |  |  | 	HINSTANCE hPrevInstance, | 
					
						
							|  |  |  |  | 	LPSTR lpCmdLine, | 
					
						
							| 
									
										
										
										
											2017-10-14 01:07:34 +08:00
										 |  |  |  | 	int nCmdShow | 
					
						
							|  |  |  |  | ) | 
					
						
							| 
									
										
										
										
											2017-10-13 11:42:36 +08:00
										 |  |  |  | { | 
					
						
							| 
									
										
										
										
											2017-12-08 19:50:59 +08:00
										 |  |  |  | 	if (!EApp::init(L"Easy2D Demo", 640, 480)) | 
					
						
							|  |  |  |  | 		return -1; | 
					
						
							| 
									
										
										
										
											2017-10-13 11:42:36 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-08 19:50:59 +08:00
										 |  |  |  | 	float w = EApp::getWidth(); | 
					
						
							|  |  |  |  | 	float h = EApp::getHeight(); | 
					
						
							|  |  |  |  | 	auto scene = new EScene(); | 
					
						
							| 
									
										
										
										
											2017-10-15 23:58:39 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-08 19:50:59 +08:00
										 |  |  |  | 	auto text = new EText(L"<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>", L"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"); | 
					
						
							|  |  |  |  | 	text->setPos(EApp::getWidth() / 2, EApp::getHeight() / 2); | 
					
						
							|  |  |  |  | 	//text->setWordWrapping(true);
 | 
					
						
							|  |  |  |  | 	//text->setWordWrappingWidth(130);
 | 
					
						
							|  |  |  |  | 	text->setRotation(40); | 
					
						
							|  |  |  |  | 	//text->runAction(new EActionLoop(new EActionTwo(new EActionFadeOut(1), new EActionFadeIn(1))));
 | 
					
						
							|  |  |  |  | 	scene->add(text); | 
					
						
							| 
									
										
										
										
											2017-10-21 19:09:31 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-08 19:50:59 +08:00
										 |  |  |  | 	auto listener = new EListenerKeyboardPress([=]() { | 
					
						
							|  |  |  |  | 		if (EKeyboardMsg::getKeyValue() == EKeyboardMsg::KEY::SPACE) | 
					
						
							|  |  |  |  | 		{ | 
					
						
							|  |  |  |  | 			EApp::backScene(new ETransitionFade(0.5f, 0.5f)); | 
					
						
							|  |  |  |  | 		} | 
					
						
							|  |  |  |  | 	}); | 
					
						
							|  |  |  |  | 	listener->bindWith(scene); | 
					
						
							| 
									
										
										
										
											2017-10-19 12:48:58 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-08 19:50:59 +08:00
										 |  |  |  | 	auto scene2 = new EScene(); | 
					
						
							| 
									
										
										
										
											2017-10-20 00:59:26 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-08 19:50:59 +08:00
										 |  |  |  | 	auto bird = new ESprite(L"atlas.png", 5, 982, 34, 24); | 
					
						
							|  |  |  |  | 	auto animation = new EAnimation(); | 
					
						
							|  |  |  |  | 	animation->addFrame(new ESpriteFrame(L"atlas.png", 5, 982, 34, 24)); | 
					
						
							|  |  |  |  | 	animation->addFrame(new ESpriteFrame(L"atlas.png", 61, 982, 34, 24)); | 
					
						
							|  |  |  |  | 	animation->addFrame(new ESpriteFrame(L"atlas.png", 117, 982, 34, 24)); | 
					
						
							|  |  |  |  | 	animation->addFrame(new ESpriteFrame(L"atlas.png", 61, 982, 34, 24)); | 
					
						
							|  |  |  |  | 	bird->runAction(new EActionLoop(animation)); | 
					
						
							|  |  |  |  | 	bird->setPivot(0.5f, 0.5f); | 
					
						
							|  |  |  |  | 	bird->setPos(EApp::getWidth() / 2, EApp::getHeight() / 2); | 
					
						
							|  |  |  |  | 	scene2->add(bird); | 
					
						
							| 
									
										
										
										
											2017-10-20 00:59:26 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-08 19:50:59 +08:00
										 |  |  |  | 	auto btnStart = new ESprite(L"atlas.png", 702, 234, 116, 70); | 
					
						
							|  |  |  |  | 	auto btnStartSelected = new ESprite(L"atlas.png", 702, 234, 116, 70); | 
					
						
							|  |  |  |  | 	btnStartSelected->setPosY(5); | 
					
						
							|  |  |  |  | 	auto button = new EButton(btnStart, btnStartSelected, [=] { | 
					
						
							|  |  |  |  | 		if (EApp::isPaused()) | 
					
						
							|  |  |  |  | 		{ | 
					
						
							|  |  |  |  | 			EApp::resume(); | 
					
						
							|  |  |  |  | 		} | 
					
						
							|  |  |  |  | 		else | 
					
						
							|  |  |  |  | 		{ | 
					
						
							|  |  |  |  | 			EApp::pause(); | 
					
						
							|  |  |  |  | 		} | 
					
						
							|  |  |  |  | 		//EApp::enterScene(scene, new ETransitionScaleEmerge(1, ETransitionScaleEmerge::BACK));
 | 
					
						
							|  |  |  |  | 	}); | 
					
						
							|  |  |  |  | 	button->setPivot(0.5f, 0.5f); | 
					
						
							|  |  |  |  | 	button->setPos(EApp::getWidth() / 2, EApp::getHeight() / 2 + 100); | 
					
						
							|  |  |  |  | 	scene2->add(button); | 
					
						
							| 
									
										
										
										
											2017-12-08 15:37:52 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-08 19:50:59 +08:00
										 |  |  |  | 	scene2->runAction(new EActionSequence(5, | 
					
						
							|  |  |  |  | 		new EActionCallback([]() { EMusicUtils::playMusic(L"music.wav", -1); }), | 
					
						
							|  |  |  |  | 		new EActionDelay(3), | 
					
						
							|  |  |  |  | 		new EActionCallback([]() { EMusicUtils::pauseMusic(L"music.wav"); }), | 
					
						
							|  |  |  |  | 		new EActionDelay(10), | 
					
						
							|  |  |  |  | 		new EActionCallback([]() { EMusicUtils::resumeMusic(L"music.wav"); }))); | 
					
						
							| 
									
										
										
										
											2017-10-13 11:42:36 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-08 19:50:59 +08:00
										 |  |  |  | 	EApp::enterScene(scene2, new ETransitionFade(0, 1)); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	return EApp::run(); | 
					
						
							| 
									
										
										
										
											2017-10-13 11:42:36 +08:00
										 |  |  |  | } |