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); }
void TreeInspector::close(Event *ev) { detach(); _getStage()->removeEventListeners(this); //return true; }
void TreeInspector::onRemovedFromStage() { _getStage()->removeEventListeners(this); }
void TreeInspector::onAdded2Stage() { _getStage()->addEventListener(TouchEvent::WHEEL_DOWN, CLOSURE(this, &TreeInspector::wheel)); _getStage()->addEventListener(TouchEvent::WHEEL_UP, CLOSURE(this, &TreeInspector::wheel)); }
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; } }