void DebugActor::showTouchedActor(bool show)
    {
        _getStage()->removeEventListener(TouchEvent::TOUCH_DOWN, CLOSURE(this, &DebugActor::onEvent));
        _showTouchedActor = show;
        if (show)
            _getStage()->addEventListener(TouchEvent::TOUCH_DOWN, CLOSURE(this, &DebugActor::onEvent));

        spActor btn = getChild("finger");
    }
    void DebugActor::showTouchedActor(bool show)
    {
        _getStage()->removeEventListener(TouchEvent::TOUCH_DOWN, CLOSURE(this, &DebugActor::onEvent));
        _showTouchedActor = show;
        if (show)
            _getStage()->addEventListener(TouchEvent::TOUCH_DOWN, CLOSURE(this, &DebugActor::onEvent));

        spActor btn = getChild("finger");
        btn->removeTweens(true);
        if (show)
            btn->addTween(Actor::TweenAlpha(0), 300, 999999, true);
    }
    void DebugActor::_btnClicked(Event* ev)
    {
        std::string name = ev->currentTarget->getName();
        if (name == "finger")
        {
            showTouchedActor(!_showTouchedActor);
            return;
        }

        if (name == "t2p")
        {
            showTexel2PixelErrors(!_showTexel2PixelErrors);
            return;
        }

        spActor inspector = _getStage()->getChild(DeveloperMenu::getDefaultName(), ep_ignore_error);
        if (inspector)
            inspector->detach();
        else
        {
            spDeveloperMenu dm = new DeveloperMenu();
            dm->setPriority(getPriority()  + 1);
            float scale = _getStage()->getScaleX();
            Vector2 size = core::getDisplaySize();

            Vector2 s = size;// * scale;
            s.y -= 24;

            if (name == "tree")
            {
                spTreeInspector tree = new TreeInspector;
                tree->init(s, _getStage());

                dm->init(s, "Tree Inspector", tree, Color(230, 230, 230, 255));
            }

            if (name == "images")
            {
                spTexturesInspector tree = new TexturesInspector(s);
                dm->init(s, "Textures Inspector", tree, Color(60, 60, 60, 255));
            }

            dm->setScale(1.0f / scale);
            Vector2 p = -_getStage()->getPosition() / scale;
            dm->setPosition(p);
            _getStage()->addChild(dm);
        }
    }
 void DebugActor::onDAEvent(Event* ev)
 {
     TouchEvent* t = safeCast<TouchEvent*>(ev);
     Vector2 loc = convert_global2local(this, _getStage(), t->localPosition);
     setAlpha(isOn(loc) ? 64 : 255);
 }
Beispiel #5
0
	void TreeInspector::close(Event *ev)
	{
		detach();
		_getStage()->removeEventListeners(this);
		//return true;
	}
Beispiel #6
0
	void TreeInspector::onRemovedFromStage()
	{
		_getStage()->removeEventListeners(this);
	}
Beispiel #7
0
	void TreeInspector::onAdded2Stage()
	{
		_getStage()->addEventListener(TouchEvent::WHEEL_DOWN, CLOSURE(this, &TreeInspector::wheel));
		_getStage()->addEventListener(TouchEvent::WHEEL_UP, CLOSURE(this, &TreeInspector::wheel));
	}
Beispiel #8
0
	void Button::_mouseEvent(Event *event)
	{
		TouchEvent *me = safeCast<TouchEvent*>(event);
		//Actor *act = safeCast<Actor*>(event->target.get());

		switch(event->type)
		{
		case TouchEvent::CLICK:
			{
				event->phase = Event::phase_target;
				event->target = this;
				/*
				if (event->target.get() != this)
				{
					spMouseEvent e = new MouseEvent(et_Click);
					dispatchEvent(e.get());
				}
				*/
			}
			break;
		case TouchEvent::OVER:
			{				
				if (!_btnOvered)
				{
					_btnOvered = me->index;
					if (!_btnPressed)
						setState(stateOvered);
				}				
			}
			break;
		case TouchEvent::OUT:
			{
				if (_btnOvered == me->index)
				{
					if (!_btnPressed)
						setState(stateNormal);
					_btnOvered = 0;
				}				
			}
			break;
		case TouchEvent::TOUCH_DOWN:
			{
				//if (isDescendant(act))
				//if (me->target.get() == this)
				{
					//event->stopImmediatePropagation();
					if (!_btnPressed)
					{
						_btnPressed = me->index;
						setState(statePressed);

						_getStage()->addEventListener(TouchEvent::TOUCH_UP, CLOSURE(this, &Button::_mouseEvent));
					}					
				}				
			}
			break;
		case TouchEvent::TOUCH_UP:
			{
				if (_btnPressed == me->index)
				{				
					setState(stateNormal);
					if (_getStage())
						_getStage()->removeEventListener(TouchEvent::TOUCH_UP, CLOSURE(this, &Button::_mouseEvent));
					_btnPressed = 0;
				}

				//if (isOn(me->localPosition))
				//if (isDescendant(act))
				if (_overred)
				{
					//spMouseEvent e = new MouseEvent(et_Click);
					//dispatchEvent(e.get());
				}
			}
			break;
		}		
	}