SneakyButtonSkinnedBase *SneakyInputEx::buttonSkinnedBase(CCRect btnRect, const char *upSprite, const char *downSprite)
{
	SneakyButtonSkinnedBase *buttonBase = new SneakyButtonSkinnedBase();

	if (buttonBase)
	{
		buttonBase->autorelease();
		buttonBase->init();
		buttonBase->setDefaultSprite(CCSprite::spriteWithSpriteFrameName(upSprite));
		buttonBase->setActivatedSprite(CCSprite::spriteWithSpriteFrameName(downSprite));
		buttonBase->setPressSprite(CCSprite::spriteWithSpriteFrameName(downSprite));

		SneakyButton *button = new SneakyButton();

		if (button)
		{
			button->autorelease();
			button->initWithRect(btnRect);
			button->setIsToggleable(false);
			button->setIsHoldable(true);

			buttonBase->setButton(button);

			return buttonBase;

		}

		buttonBase->release();
	
	}

	return NULL;

}
Beispiel #2
0
bool PlayLayer::init()
{
    if(!BaseLayer::init())
    {
        return false;
    }

    Size visibleSize = Director::getInstance()->getVisibleSize();

    MenuItemFont *back = MenuItemFont::create("back", CC_CALLBACK_1(PlayLayer::back, this));
    Menu *menu = Menu::create(back, NULL);
    menu->setPosition(visibleSize.width*9/10, visibleSize.height*9/10);

    this->addChild(menu);

    SpriteFrameCache* cache = SpriteFrameCache::getInstance();
    cache->addSpriteFramesWithFile("UI.plist", "UI.png");

    mJoystick = NULL;
    mJoystick = new SneakyJoystick();
    mJoystick->initWithRect(Rect::ZERO);
    mJoystick->setAutoCenter(true);
    mJoystick->setHasDeadzone(true);
    mJoystick->setDeadRadius(10);
    SneakyJoystickSkinnedBase* jstickSkin = new SneakyJoystickSkinnedBase();
    jstickSkin->autorelease();
    jstickSkin->init();
    jstickSkin->setBackgroundSprite(CCSprite::createWithSpriteFrameName("JoyStick-base.png"));
    jstickSkin->setThumbSprite(CCSprite::createWithSpriteFrameName("JoyStick-thumb.png"));
    //jstickSkin->getThumbSprite()->setScale(0.5f);
    jstickSkin->setPosition(visibleSize.width*1/10, visibleSize.width*1/10);
    jstickSkin->setJoystick(mJoystick);
    this->addChild(jstickSkin);

    mButtonA = NULL;
    mButtonA = new SneakyButton();
    mButtonA->initWithRect(Rect::ZERO);
    mButtonA->setIsToggleable(false);
    mButtonA->setIsHoldable(true);
    SneakyButtonSkinnedBase* btnASkin = new SneakyButtonSkinnedBase();
    btnASkin->autorelease();
    btnASkin->init();
    btnASkin->setPosition(visibleSize.width*9/10, visibleSize.width*1/10);
    btnASkin->setDefaultSprite(CCSprite::createWithSpriteFrameName("button-default.png"));
    btnASkin->setPressSprite(CCSprite::createWithSpriteFrameName("button-pressed.png"));
    btnASkin->setActivatedSprite(CCSprite::createWithSpriteFrameName("button-activated.png"));
    //btnASkin->setDisabledSprite(CCSprite::createWithSpriteFrameName("button-disabled.png"));
    btnASkin->setButton(mButtonA);
    this->addChild(btnASkin);

    this->schedule(schedule_selector(PlayLayer::inputUpdate));

    startPlay();

    return true;
}
Beispiel #3
0
HudLayer::HudLayer()
{
	CCMenuItemSprite* btn_pause = CCMenuItemSprite::create(
		CCSprite::createWithSpriteFrameName("CloseNormal.png"), 
		CCSprite::createWithSpriteFrameName("CloseSelected.png"), 
		this, menu_selector(HudLayer::menuPauseCallback));
	btn_pause->setPosition(CCPointZero);
	CCMenu* menu_pause = CCMenu::createWithItem(btn_pause);
	menu_pause->setPosition(ccp(PAUSE_MENU_POS_X, PAUSE_MENU_POS_Y));
	this->addChild(menu_pause);

	mJoystick = NULL;
	mJoystick = new SneakyJoystick();
	mJoystick->initWithRect(CCRectZero);
	mJoystick->setAutoCenter(true);
	mJoystick->setHasDeadzone(true);
	mJoystick->setDeadRadius(JOYSTICK_DEAD_RADIUS);
	SneakyJoystickSkinnedBase* jstickSkin = new SneakyJoystickSkinnedBase();
	jstickSkin->autorelease();
	jstickSkin->init();
	jstickSkin->setBackgroundSprite(CCSprite::createWithSpriteFrameName("JoyStick-base.png"));
	jstickSkin->setThumbSprite(CCSprite::createWithSpriteFrameName("JoyStick-thumb.png"));
	//jstickSkin->getThumbSprite()->setScale(0.5f);
	jstickSkin->setPosition(ccp(JOYSTICK_POS_X, JOYSTICK_POS_Y));
	jstickSkin->setJoystick(mJoystick);
	this->addChild(jstickSkin);

	mButtonA = NULL;
	mButtonA = new SneakyButton();
	mButtonA->initWithRect(CCRectZero);
	mButtonA->setIsToggleable(false);
	mButtonA->setIsHoldable(true);
	SneakyButtonSkinnedBase* btnASkin = new SneakyButtonSkinnedBase();
	btnASkin->autorelease();
	btnASkin->init();
	btnASkin->setPosition(ccp(BTN_A_POS_X, BTN_A_POS_Y));
	btnASkin->setDefaultSprite(CCSprite::createWithSpriteFrameName("button-default.png"));
	btnASkin->setPressSprite(CCSprite::createWithSpriteFrameName("button-pressed.png"));
	btnASkin->setActivatedSprite(CCSprite::createWithSpriteFrameName("button-activated.png"));
	//btnASkin->setDisabledSprite(CCSprite::createWithSpriteFrameName("button-disabled.png"));
	btnASkin->setButton(mButtonA);
	this->addChild(btnASkin);

	init();
}
Beispiel #4
0
HudLayer::HudLayer()
{
	CCSpriteFrameCache* cache = 
		CCSpriteFrameCache::sharedSpriteFrameCache();
	cache->addSpriteFramesWithFile("UI.plist", "UI.png");

	mJoystick = NULL;
	mJoystick = new SneakyJoystick();
	mJoystick->initWithRect(CCRectZero);
	mJoystick->setAutoCenter(true);
	mJoystick->setHasDeadzone(true);
	mJoystick->setDeadRadius(10);
	SneakyJoystickSkinnedBase* jstickSkin = new SneakyJoystickSkinnedBase();
	jstickSkin->autorelease();
	jstickSkin->init();
	jstickSkin->setBackgroundSprite(CCSprite::createWithSpriteFrameName("JoyStick-base.png"));
	jstickSkin->setThumbSprite(CCSprite::createWithSpriteFrameName("JoyStick-thumb.png"));
	//jstickSkin->getThumbSprite()->setScale(0.5f);
	jstickSkin->setPosition(ccp(50, 50));
	jstickSkin->setJoystick(mJoystick);
	this->addChild(jstickSkin);

	mButtonA = NULL;
	mButtonA = new SneakyButton();
	mButtonA->initWithRect(CCRectZero);
	mButtonA->setIsToggleable(false);
	mButtonA->setIsHoldable(true);
	SneakyButtonSkinnedBase* btnASkin = new SneakyButtonSkinnedBase();
	btnASkin->autorelease();
	btnASkin->init();
	btnASkin->setPosition(ccp(430, 50));
	btnASkin->setDefaultSprite(CCSprite::createWithSpriteFrameName("button-default.png"));
	btnASkin->setPressSprite(CCSprite::createWithSpriteFrameName("button-pressed.png"));
	btnASkin->setActivatedSprite(CCSprite::createWithSpriteFrameName("button-activated.png"));
	//btnASkin->setDisabledSprite(CCSprite::createWithSpriteFrameName("button-disabled.png"));
	btnASkin->setButton(mButtonA);
	this->addChild(btnASkin);

	init();
}
// on "init" you need to initialize your instance
bool CCGVirtualJoystick::init()
{
	//////////////////////////////
	// 1. super init first
	if (!Layer::init())
	{
		return false;
	}

	// set joystick params.
	float defaultThumbRadius = 64;
	float defaultBackgroundRadius = 100;
	float defaultDeathRadius = 10;
	Vec2  defaultJoystickPosition = Vec2(200, 200);

	_leftJoystick = static_cast<CCGJoystick*>(new SneakyJoystick());
	_leftJoystick->initWithRect(Rect::ZERO);
	_leftJoystick->setAutoCenter(true);  
	_leftJoystick->setHasDeadzone(true);
	_leftJoystick->setDeadRadius(defaultDeathRadius);

	SneakyJoystickSkinnedBase *leftJoystickSkin = new SneakyJoystickSkinnedBase();
	leftJoystickSkin->autorelease();
	leftJoystickSkin->init();

	// set background sprite
	leftJoystickSkin->setBackgroundSprite(CCSprite::create("joystick/RadialJoy_Area.png"));
	auto backgroundSpriteSize = leftJoystickSkin->getBackgroundSprite()->getContentSize();
	leftJoystickSkin->getBackgroundSprite()->setScaleX(2* defaultBackgroundRadius / backgroundSpriteSize.width);
	leftJoystickSkin->getBackgroundSprite()->setScaleY(2* defaultBackgroundRadius / backgroundSpriteSize.height);

	// set thumb sprite
	leftJoystickSkin->setThumbSprite(CCSprite::create("joystick/Button_normal.png"));
	auto thumbSpriteSize = leftJoystickSkin->getThumbSprite()->getContentSize();
	leftJoystickSkin->getThumbSprite()->setScaleX(2 * defaultThumbRadius / thumbSpriteSize.width);
	leftJoystickSkin->getThumbSprite()->setScaleY(2 * defaultThumbRadius / thumbSpriteSize.height);

	leftJoystickSkin->setPosition(defaultJoystickPosition);
	leftJoystickSkin->setJoystick(_leftJoystick.get());
	this->addChild(leftJoystickSkin);

	// create attack button
	Size visibleSize = Director::getInstance()->getVisibleSize();
	Vec2  defaultAttackButtonPosition = Vec2(visibleSize.width - 200, 200);

	_attackButton = static_cast<CCGButton*>(new SneakyButton());
	_attackButton->initWithRect(Rect::ZERO);
	_attackButton->setIsToggleable(false);
	_attackButton->setIsHoldable(false);

	SneakyButtonSkinnedBase *attackButtonSkin = new SneakyButtonSkinnedBase();
	attackButtonSkin->autorelease();
	attackButtonSkin->init();

	attackButtonSkin->setDefaultSprite(CCSprite::create("joystick/attackButton_normal.png"));
	attackButtonSkin->setPressSprite(CCSprite::create("joystick/attackButton_pressed.png"));
	attackButtonSkin->setActivatedSprite(CCSprite::create("joystick/attackButton_pressed.png"));

	attackButtonSkin->setPosition(defaultAttackButtonPosition);
	attackButtonSkin->setButton(_attackButton.get());
	this->addChild(attackButtonSkin);

	return true;
}