如何同时检测Sneakybutton 检测和SneakyJoystick

proj.win32
PrompaDroid.ico
PrompaDroid.rc
PrompaDroid.win32.vcxproj
PrompaDroid.win32.vcxproj.filters
PrompaDroid.win32.vcxproj.user
fps_images-hd.png
fps_images-ipadhd.png
fps_images.png
pd_sprites.plist
pd_sprites.png
pd_tilemap.tmx
pd_tiles.png
#include &SneakyButtonSkinnedBase.h&
using namespace cocos2d;
SneakyButtonSkinnedBase::~SneakyButtonSkinnedBase()
if (defaultSprite)
defaultSprite-&release();
defaultSprite = NULL;
if (activatedSprite)
activatedSprite-&release();
activatedSprite = NULL;
if (disabledSprite)
disabledSprite-&release();
disabledSprite = NULL;
if (pressSprite)
pressSprite-&release();
pressSprite = NULL;
if (button)
button-&release();
button = NULL;
bool SneakyButtonSkinnedBase::init() //Possible errors here
bool pRet =
if(CCLayer::init()){
this-&defaultSprite = NULL;
//defaultSprite-&retain();
this-&activatedSprite = NULL;
//activatedSprite-&retain();
this-&disabledSprite = NULL;
//disabledSprite-&retain();
this-&pressSprite = NULL;
//pressSprite-&retain();
this-&button = NULL;
//button-&retain();
this-&schedule(schedule_selector(SneakyButtonSkinnedBase::watchSelf));
void SneakyButtonSkinnedBase::watchSelf(float delta) //Be Careful Here
if (!this-&button-&getStatus()){
if(disabledSprite){
disabledSprite-&setVisible(true);
disabledSprite-&setVisible(false);
if(!this-&button-&getIsActive()){
pressSprite-&setVisible(false);
if(this-&button-&getValue() == false){
activatedSprite-&setVisible(false);
if(defaultSprite){
defaultSprite-&setVisible(true);
activatedSprite-&setVisible(true);
defaultSprite-&setVisible(false);
if(pressSprite){
pressSprite-&setVisible(true);
void SneakyButtonSkinnedBase::setContentSize(CCSize s)
CCLayer::setContentSize(s);
////////defaultSprite-&setContentSize(s);
//button-&setRadius(s.width/2);
void SneakyButtonSkinnedBase::setDefaultSprite(CCSprite *aSprite)
if(defaultSprite){
if(defaultSprite-&getParent())
defaultSprite-&getParent()-&removeChild(defaultSprite, true);
defaultSprite-&release();
aSprite-&retain();
defaultSprite = aS //Check again here
if(aSprite){
this-&addChild(defaultSprite, 0);
this-&setContentSize(defaultSprite-&getContentSize());
void SneakyButtonSkinnedBase::setActivatedSprite(CCSprite *aSprite)
if(activatedSprite){
if(activatedSprite-&getParent())
activatedSprite-&getParent()-&removeChild(activatedSprite, true);
activatedSprite-&release();
aSprite-&retain();
activatedSprite = aS
if(aSprite){
this-&addChild(activatedSprite, 1);
this-&setContentSize(activatedSprite-&getContentSize());
void SneakyButtonSkinnedBase::setDisabledSprite(CCSprite *aSprite)
if(disabledSprite){
if(disabledSprite-&getParent())
disabledSprite-&getParent()-&removeChild(disabledSprite, true);
disabledSprite-&release();
aSprite-&retain();
disabledSprite = aS
if(aSprite){
this-&addChild(disabledSprite, 2);
this-&setContentSize(disabledSprite-&getContentSize());
void SneakyButtonSkinnedBase::setPressSprite(CCSprite *aSprite)
if(pressSprite){
if(pressSprite-&getParent())
pressSprite-&getParent()-&removeChild(pressSprite, true);
pressSprite-&release();
aSprite-&retain();
pressSprite = aS
if(aSprite){
this-&addChild(pressSprite, 3);
this-&setContentSize(pressSprite-&getContentSize());
void SneakyButtonSkinnedBase::setButton(SneakyButton *aButton)
if(button){
if(button-&getParent())
button-&getParent()-&removeChild(button, true);
button-&release();
aButton-&retain();
button = aB
if(aButton){
this-&addChild(button, 4);
if(defaultSprite)
button-&setRadius(defaultSprite-&boundingBox().size.width/2);
Copyright(C)
OKBASE.NET All Rights Reserved 好库网 版权所有Sneaky Sneaky 鬼鬼祟祟第3-5关过关攻略 终结之章快临近
编辑:周太公
发布时间: 16:11
Sneaky Sneaky 鬼鬼祟祟第3-5关游戏之中,我们会慢慢接近游戏的终章,那么究竟这关怎么才能过呢?留意本篇Sneaky Sneaky 鬼鬼祟祟第3-5关过关攻略就知道。
之中,游戏会慢慢进入到游戏的最终章节关卡,那么究竟怎么样才能顺利过关呢?留意本篇第3-5关过关攻略就知晓。的游戏里面,每一关都可谓是难度不一,究竟怎么来通过也是有技巧的,留意本篇过关攻略便可。Sneaky Sneaky 鬼鬼祟祟第3-5关攻略:在游戏一开始,直接如图形式躲开敌人即可。而在这场景里面,在黑色处放置肉块然后引来敌人,再如红色线条情况走即可。在这场景里面,按照红色箭头指示即可顺利躲开敌人行径路线。对于这里,建议各位最好有锤子,不然有点麻烦。走到上图位置后利用弓箭消灭敌人后直接绕过去。在最终的场景里面,我们是按照先骑士,后左弓箭手,喇叭男,右弓箭手形式来进行消灭,注意一点是我们要尽量利用草丛掩护来行刺,硬扛是很难过的。想了解Sneaky Sneaky 鬼鬼祟祟其他关卡怎么过?留意超好玩就知道了!以上就是Sneaky Sneaky 鬼鬼祟祟第3-5关过关攻略的全部内容,欢迎各位留意超好玩其他Sneaky Sneaky 鬼鬼祟祟的攻略资讯信息。
Sneaky Sneaky 鬼鬼祟祟第3-6关之中,游戏进入到最终章节,究竟最终章节是怎么样的呢?留意本篇Sneaky Sneaky 鬼鬼祟祟第3-6关过关攻略。.
游戏类型:
游戏语言:
游戏分类:
游戏厂商:
Naiad Entertainment LLC
(C) Copyright (C)
超好玩 All Rights Reserved今天看啥 热点:
(现在csdn博客保存好像有问题)
(刚才都写完了要保存的时候,手欠点了浏览器的返回按钮,然后csdn的自动保存不好用,然后现在的这篇笔记是第二遍了T.T)
骨头没跟哲哲出去浪漫
就猫在床上看着视频吃着水果零食啥的
旁边有骨头最喜欢的甘蔗
弄完这篇就吃去
SneakyInput:
一个开源项目,地址:/Ntran013/SneakyInput
用法参考笔记8:《战神传说》
把Sneaky代码加上。
在单独的Layer层里,声明一个按钮和一个摇杆:
HudLayer();
bool init();
SneakyButton* mButtonA;
SneakyJoystick* mJ
//void inputUpdate(float dt);
在GameScene里添加这个单独的Layer层:
GameScene::GameScene()
mHudLayer = new HudLayer();
this-&addChild(mHudLayer, 1);
mGameLayer = new GameLayer();
this-&addChild(mGameLayer, 0);
this-&schedule(schedule_selector(GameScene::inputUpdate));
这个HudLayer控制层添加游戏逻辑层之上
void GameScene::inputUpdate(float dt)
CCPoint& //std::cout && velocity.x && std::
if (velocity.x &= 0.4f& velocity.y &= 0.4f& mGameLayer-&mHero-&walkWithDirection(velocity);
}& mGameLayer-&mHero-&idle();
if (attackInterval &= 0.0f) {
if (mHudLayer-&mButtonA-&getIsActive()) {
mGameLayer-&mHero-&attack();
attackInterval = 0.5f;
这个方法里,首先获取摇杆的速度,如果速度绝对值超过0.4,则相应这个动作,也就是让主角移动。
然后判断mButtonA这个按钮是否被按下,如果是的话进行攻击。
这里面还用一个变量来控制攻击间隔:0.5秒进行一次攻击检测。
下面看下摇杆和攻击按钮的初始化方法:
在HudLayer里:
摇杆的初始化:
CCSpriteFrameCache*& 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-&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);
好了,摇杆用起来就这么简单,感谢原作者。
相关搜索:
相关阅读:
相关频道:
其他教程最近更新苹果园为iOS用户提供和下载,最新的、、、等,分享最权威的资讯、、及解决办法,拥有最火爆的,苹果园一家专注解决iOS所求的网站。

我要回帖

更多关于 sneakyangela 剃毛 的文章

 

随机推荐