/** @name seekAttr @text Animate the attribute by applying a delta. Delta is computed given a target value. Creates and returns a MOAIEaseDriver initialized to apply the delta. @in MOAINode self @in number attrID ID of the attribute to animate. @in number goal Desired resulting value for attribute. @in number length Length of animation in seconds. @opt number mode The ease mode. One of MOAIEaseType.EASE_IN, MOAIEaseType.EASE_OUT, MOAIEaseType.FLAT MOAIEaseType.LINEAR, MOAIEaseType.SMOOTH, MOAIEaseType.SOFT_EASE_IN, MOAIEaseType.SOFT_EASE_OUT, MOAIEaseType.SOFT_SMOOTH. Defaults to MOAIEaseType.SMOOTH. @out MOAIEaseDriver easeDriver */ int MOAINode::_seekAttr ( lua_State* L ) { MOAI_LUA_SETUP ( MOAINode, "UNNN" ) MOAIEaseDriver* action = new MOAIEaseDriver (); action->ReserveLinks ( 1 ); u32 attrID = state.GetValue < u32 >( 2, 0 ); if ( self->CheckAttrExists ( attrID )) { MOAIAttrOp getter; self->ApplyAttrOp ( attrID, getter, MOAIAttrOp::GET ); if ( !getter.IsValid ()) return 0; float value = state.GetValue < float >( 3, 0.0f ); float delay = state.GetValue < float >( 4, 0.0f ); u32 mode = state.GetValue < u32 >( 5, ZLInterpolate::kSmooth ); action->SetLink ( 0, self, attrID, value - getter.GetValue ( 0.0f ), mode ); action->SetSpan ( delay ); action->Start (); action->PushLuaUserdata ( state ); return 1; } MOAILog ( L, MOAILogMessages::MOAINode_AttributeNotFound ); return 0; }
/** @name moveAttr @text Animate the attribute by applying a delta. Creates and returns a MOAIEaseDriver initialized to apply the delta. @in MOAINode self @in number attrID ID of the attribute to animate. @in number delta Total change to be added to attribute. @in number length Length of animation in seconds. @opt number mode The ease mode. One of MOAIEaseType.EASE_IN, MOAIEaseType.EASE_OUT, MOAIEaseType.FLAT MOAIEaseType.LINEAR, MOAIEaseType.SMOOTH, MOAIEaseType.SOFT_EASE_IN, MOAIEaseType.SOFT_EASE_OUT, MOAIEaseType.SOFT_SMOOTH. Defaults to MOAIEaseType.SMOOTH. @out MOAIEaseDriver easeDriver */ int MOAINode::_moveAttr ( lua_State* L ) { MOAI_LUA_SETUP ( MOAINode, "UNNN" ) MOAIEaseDriver* action = new MOAIEaseDriver (); action->ReserveLinks ( 1 ); u32 attrID = state.GetValue < u32 >( 2, 0 ); float value = state.GetValue < float >( 3, 0.0f ); float length = state.GetValue < float >( 4, 0.0f ); u32 mode = state.GetValue < u32 >( 5, ZLInterpolate::kSmooth ); if ( self->CheckAttrExists ( attrID )) { action->SetLink ( 0, self, attrID, value, mode ); action->SetSpan ( length ); action->Start (); action->PushLuaUserdata ( state ); return 1; } MOAILog ( L, MOAILogMessages::MOAINode_AttributeNotFound ); return 0; }