Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "HelloWorldScene.h"
- #include "SimpleAudioEngine.h"
- #include "NewScene.h"
- USING_NS_CC;
- //using namespace CocosDenshion;
- Scene* HelloWorld::createScene()
- {
- // 'scene' is an autorelease object
- auto scene = Scene::create();
- // 'layer' is an autorelease object
- auto layer = HelloWorld::create();
- // add layer as a child to scene
- scene->addChild(layer);
- // return the scene
- return scene;
- }
- // on "init" you need to initialize your instance
- bool HelloWorld::init()
- {
- //////////////////////////////
- // 1. super init first
- if ( !Layer::init() )
- {
- return false;
- }
- auto visibleSize = Director::getInstance()->getVisibleSize();
- Vec2 origin = Director::getInstance()->getVisibleOrigin();
- /////////////////////////////
- // 2. add a menu item with "X" image, which is clicked to quit the program
- // you may modify it.
- // add a "close" icon to exit the progress. it's an autorelease object
- auto closeItem = MenuItemImage::create(
- "CloseNormal.png",
- "CloseSelected.png",
- CC_CALLBACK_1(HelloWorld::menuCloseCallback, this));
- closeItem->setPosition(Vec2(origin.x + visibleSize.width - closeItem->getContentSize().width/2 ,
- origin.y + closeItem->getContentSize().height/2));
- auto gambar = Sprite::create("icon-114.png");
- gambar -> setPosition(Point((visibleSize.width / 2) + origin.x , (visibleSize.height / 2) + origin.y));
- auto action = RotateBy::create(0.5,360);
- this -> addChild(gambar,2);
- auto repet = RepeatForever::create(action);
- gambar -> runAction(repet);
- auto gerak = MoveBy::create(1, Vec2(20,0));
- auto gerak1 = MoveBy::create(0.5, Vec2(-10,0));
- auto gerak2 = MoveTo::create(3, Point((visibleSize.width / 2) + origin.x , (visibleSize.height / 2) + origin.y));
- auto seq = Sequence::create(gerak,gerak1,gerak2,NULL);
- gambar -> runAction(seq);
- auto listener = EventListenerTouchOneByOne::create();
- listener -> setSwallowTouches(true);
- listener -> onTouchBegan = CC_CALLBACK_2(HelloWorld::onTouchBegan, this);
- //listener -> onTouchMoved = CC_CALLBACK_2(HelloWorld::onTouchMoved, this);
- //listener -> onTouchEnded = CC_CALLBACK_2(HelloWorld::onTouchEnded, this);
- // _eventDispatcher -> addEventListenerWithSceneGraphPriority(listener, this);
- // create menu, it's an autorelease object
- auto menu = Menu::create(closeItem, NULL);
- menu->setPosition(Vec2::ZERO);
- this->addChild(menu, 1);
- /////////////////////////////
- // 3. add your codes below...
- // add a label shows "Hello World"
- // create and initialize a label
- auto label = Label::createWithTTF("Hello World", "fonts/Marker Felt.ttf", 24);
- // position the label on the center of the screen
- label->setPosition(Vec2(origin.x + visibleSize.width/2,
- origin.y + visibleSize.height - label->getContentSize().height));
- // add the label as a child to this layer
- this->addChild(label, 1);
- // add "HelloWorld" splash screen"
- auto sprite = Sprite::create("HelloWorld.png");
- // position the sprite on the center of the screen
- sprite->setPosition(Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));
- // add the sprite as a child to this layer
- this->addChild(sprite, 0);
- //auto audio = CocosDenshion::SimpleAudioEngine::sharedEngine();
- //audio -> preloadBackgroundMusic("notify.ogg");
- //audio -> playBackgroundMusic("notify.ogg", true);
- CocosDenshion::SimpleAudioEngine::getInstance() -> preloadEffect("lagu/klop.ogg");
- CocosDenshion::SimpleAudioEngine::getInstance() -> playEffect("lagu/klop.ogg", true);
- // CocosDenshion::SimpleAudioEngine::getInstance() -> setBackgroundMusicVolume(0.2);
- auto menu1 = MenuItemFont::create("Play", CC_CALLBACK_1(HelloWorld::play, this));
- auto menu2 = MenuItemFont::create("High Score", CC_CALLBACK_1(HelloWorld::highscore, this));
- auto menu3 = MenuItemFont::create("Setting", CC_CALLBACK_1(HelloWorld::setting, this));
- auto menu4 = MenuItemImage::create("ABU.png","COKLAT.png",CC_CALLBACK_1(HelloWorld::imagebutton, this));
- menu1 -> setPosition(Vec2(visibleSize.width /2 , (visibleSize.height/4) * 3));
- menu2 -> setPosition(Vec2(visibleSize.width /2 , (visibleSize.height/4) * 1));
- menu3 -> setPosition(Vec2(visibleSize.width /2 , (visibleSize.height/4) * 2));
- menu4 -> setPosition(Vec2( origin.x + (visibleSize.width /4) , visibleSize.height/2));
- auto *menu22 = Menu::create(menu1, menu2, menu3, NULL);
- menu22 -> setPosition(Vec2(0,0));
- this -> addChild(menu22,2);
- auto *menu222 = Menu::create(menu4, NULL);
- menu222 -> setPosition(Vec2(0,0));
- this -> addChild(menu222,2);
- return true;
- }
- void HelloWorld::imagebutton(cocos2d::Ref *pSender)
- {
- CCLOG("gambar");
- }
- void HelloWorld::play(cocos2d::Ref *pSender)
- {
- CCLOG("play");
- auto scene = NewScene::createScene();
- Director::getInstance() -> pushScene(scene);
- }
- void HelloWorld::highscore(cocos2d::Ref *pSender)
- {
- CCLOG("highscore");
- }
- void HelloWorld::setting(cocos2d::Ref *pSender)
- {
- CCLOG("setting");
- }
- bool HelloWorld::onTouchBegan(cocos2d::Touch *touch, cocos2d::Event *event)
- {
- CCLOG("AAAAA");
- return true;
- }
- //void HelloWorld::onTouchMoved(cocos2d::Touch *touch, cocos2d::Event *event)
- ///{
- // auto gerak1 = MoveBy::create(0.5, Vec2(-10,0));
- // auto gerak2 = MoveTo::create(3, Point((visibleSize.width / 2) + origin.x , (visibleSize.height / 2) + origin.y));
- // auto gambar = Sprite::create("icon-114.png");
- // gambar -> setPosition(Point((visibleSize.width / 2) + origin.x , (visibleSize.height / 2) + origin.y));
- // gambar -> runAction(gerak1);
- // }
- // void HelloWorld::onTouchEnded(cocos2d::Touch *touch, cocos2d::Event *event)
- //{
- // auto gerak1 = MoveBy::create(0.5, Vec2(-10,0));
- // auto gerak2 = MoveTo::create(3, Point((visibleSize.width / 2) + origin.x , (visibleSize.height / 2) + origin.y));
- // auto gambar = Sprite::create("icon-114.png");
- // gambar -> setPosition(Point((visibleSize.width / 2) + origin.x , (visibleSize.height / 2) + origin.y));
- // gambar -> runAction(gerak2);
- // }
- void HelloWorld::menuCloseCallback(Ref* pSender)
- {
- //Close the cocos2d-x game scene and quit the application
- Director::getInstance()->end();
- #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
- exit(0);
- #endif
- /*To navigate back to native iOS screen(if present) without quitting the application ,do not use Director::getInstance()->end() and exit(0) as given above,instead trigger a custom event created in RootViewController.mm as below*/
- //EventCustom customEndEvent("game_scene_close_event");
- //_eventDispatcher->dispatchEvent(&customEndEvent);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement