Basic hover alpha button component
January 21, 2015 ยท View on GitHub
import luxe.Input; import luxe.Sprite; import luxe.Color; import luxe.Component; import luxe.tween.Actuate;
class HoverAlpha extends Component {
public var amount : Float = 0.3;
public var start : Float = 1;
public var active : Bool = true;
public var speed : Float = 0.1;
public var hovered : Bool = false;
var sprite:Sprite;
public function new() {
super({ name:'hover' });
}
override function init() {
} //init
override function onadded() {
sprite = cast entity;
}
override function onmousemove( event:MouseEvent ) {
if(!active) {
return;
}
if(sprite.point_inside_AABB(event.pos)) {
if(!hovered) {
hover();
}
} else {
if(hovered) {
unhover();
}
} //point inside
} //mousemove
public function hover() {
hovered = true;
sprite.color.tween(speed, { a:start-amount });
} //hover
public function unhover() {
hovered = false;
sprite.color.tween(speed, { a:start });
} //unhover
} //HoverAlpha