/** @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 ); MOAI_ERROR_UNLESS ( self->AttrExists ( attrID ), state, MOAILogMessages::MOAINode_AttributeNotFound ); USAttrGetter getter; self->ApplyAttrOp ( attrID, getter ); 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, USInterpolate::kSmooth ); action->SetLink ( 0, self, attrID, value - getter.Get < float >(), mode ); action->SetLength ( delay ); action->Start (); action->PushLuaUserdata ( state ); return 1; }
/** @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 seekVolume @text Creates a new MOAIAction that will move the volume from it's current value to the value specified. @in MOAIFmodChannel self @in number target The target volume. @in number delay The delay until the action starts. @in number mode The interpolation mode for the action. @out MOAIAction action The new action. It is automatically started by this function. */ int MOAIFmodChannel::_seekVolume ( lua_State* L ) { MOAI_LUA_SETUP ( MOAIFmodChannel, "UNN" ) MOAIEaseDriver* action = new MOAIEaseDriver (); action->ReserveLinks ( 1 ); float target = state.GetValue < float >( 2, 0.0f ); float length = state.GetValue < float >( 3, 0.0f ); u32 mode = state.GetValue < u32 >( 4, USInterpolate::kSmooth ); action->SetLink ( 0, self, MOAIFmodChannelAttr::Pack ( ATTR_VOLUME ), target - self->mVolume, mode ); action->SetLength ( length ); action->Start (); action->PushLuaUserdata ( state ); return 1; }
SUPPRESS_EMPTY_FILE_WARNING #if USE_FMOD #include <moaicore/MOAIEaseDriver.h> #include <moaicore/MOAIFmodSound.h> #include <moaicore/MOAIFmodChannel.h> #include <moaicore/MOAIFmod.h> #include <moaicore/MOAILogMessages.h> #include <fmod.hpp> //================================================================// // local //================================================================// //----------------------------------------------------------------// /** @name moveVolume @text Creates a new MOAIAction that will move the volume from it's current value to the value specified. @in MOAIFmodChannel self @in number target The target volume. @in number delay The delay until the action starts. @in number mode The interpolation mode for the action. @out MOAIAction action The new action. It is automatically started by this function. */ int MOAIFmodChannel::_moveVolume ( lua_State* L ) { MOAI_LUA_SETUP ( MOAIFmodChannel, "UNN" ) MOAIEaseDriver* action = new MOAIEaseDriver (); action->ReserveLinks ( 1 ); float delta = state.GetValue < float >( 2, 0.0f ); float length = state.GetValue < float >( 3, 0.0f ); u32 mode = state.GetValue < u32 >( 4, USInterpolate::kSmooth ); action->SetLink ( 0, self, MOAIFmodChannel::Pack ( ATTR_VOLUME ), delta, mode ); action->SetLength ( length ); action->Start (); action->PushLuaUserdata ( state ); return 1; }
/** @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, USInterpolate::kSmooth ); MOAI_ERROR_UNLESS ( self->AttrExists ( attrID ), state, MOAILogMessages::MOAINode_AttributeNotFound ); action->SetLink ( 0, self, attrID, value, mode ); action->SetLength ( length ); action->Start (); action->PushLuaUserdata ( state ); return 1; }