static int tolua_SneakyJoystickSkinnedBase_SneakyJoystickSkinnedBase_getBackgroundSprite00(lua_State* tolua_S)
{
#ifndef TOLUA_RELEASE
 tolua_Error tolua_err;
 if (
     !tolua_isusertype(tolua_S,1,"SneakyJoystickSkinnedBase",0,&tolua_err) ||
     !tolua_isnoobj(tolua_S,2,&tolua_err)
 )
  goto tolua_lerror;
 else
#endif
 {
  SneakyJoystickSkinnedBase* self = (SneakyJoystickSkinnedBase*)  tolua_tousertype(tolua_S,1,0);
#ifndef TOLUA_RELEASE
  if (!self) tolua_error(tolua_S,"invalid 'self' in function 'getBackgroundSprite'", NULL);
#endif
  {
   CCSprite* tolua_ret = (CCSprite*)  self->getBackgroundSprite();
    tolua_pushusertype(tolua_S,(void*)tolua_ret,"CCSprite");
  }
 }
 return 1;
#ifndef TOLUA_RELEASE
 tolua_lerror:
 tolua_error(tolua_S,"#ferror in function 'getBackgroundSprite'.",&tolua_err);
 return 0;
#endif
}
Пример #2
0
void InputLayer::addJoyStick() {
	float stickRadius = 50;

	joystick = new SneakyJoystick();
	joystick->initWithRect(CCRectMake(0, 0, 100.0f, 100.0f));
	joystick->setAutoCenter(true);
	joystick->setHasDeadzone(true);
	joystick->setDeadRadius(10);

	SneakyJoystickSkinnedBase *skinjoystick = SneakyJoystickSkinnedBase::create();
	skinjoystick->setPosition(stickRadius * 1.5f, stickRadius * 1.5f);
	skinjoystick->setBackgroundSprite(Sprite::create("button-disabled.png"));
	skinjoystick->getBackgroundSprite()->setColor(ccMAGENTA);
	skinjoystick->setThumbSprite(Sprite::create("button-disabled.png"));
	skinjoystick->getThumbSprite()->setScale(0.5f);
	skinjoystick->setJoystick(joystick);

	this->addChild(skinjoystick);
}
Пример #3
0
// 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;
}