3
« on: April 11, 2013, 10:43:36 am »
Here:
Put this code (and replace the preexisting code) in a behavior and switch to snap mode.
package scripts
{
import flash.display.BlendMode;
import flash.events.*;
import flash.net.*;
import flash.filters.*;
import Box2DAS.Collision.*;
import Box2DAS.Collision.Shapes.*;
import Box2DAS.Common.*;
import Box2DAS.Dynamics.*;
import Box2DAS.Dynamics.Contacts.*;
import Box2DAS.Dynamics.Joints.*;
import stencyl.api.data.*;
import stencyl.api.engine.*;
import stencyl.api.engine.actor.*;
import stencyl.api.engine.behavior.*;
import stencyl.api.engine.bg.*;
import stencyl.api.engine.font.*;
import stencyl.api.engine.scene.*;
import stencyl.api.engine.sound.*;
import stencyl.api.engine.tile.*;
import stencyl.api.engine.utils.*;
import org.flixel.*;
import mochi.as3.*;
import flash.ui.Mouse;
public dynamic class Design_4_4_Movement extends ActorScript
{
public var _LeftControl:String;
public var _RunSpeed:Number = 0;
public var _RightControl:String;
public var _LeftandRightMovement:Boolean = false;
public var _RunRight:String;
public var _RunLeft:String;
public var _StandRight:String;
public var _StandLeft:String;
public var _JumpingMovment:Boolean = false;
public var _JumpControl:String;
public var _JumpSpeed:Number = 0;
public var _Jumping:Number = 0;
public var _OnGround:Boolean = false;
override public function init():void
{
addWhenUpdatedListener(null, function(list:Array):void {
if(wrapper.enabled){
if(sameAs(_LeftandRightMovement, true))
{
/* The next two "if's" are for moving left-- The others are for moving right. */
if(isKeyDown(_LeftControl))
{
actor.setXVelocity(-(_RunSpeed));
actor.setAnimation(_RunLeft.toString());
}
if(isKeyReleased(_LeftControl))
{
actor.setXVelocity(0);
actor.setAnimation(_StandLeft.toString());
}
if(isKeyDown(_RightControl))
{
actor.setXVelocity(_RunSpeed);
actor.setAnimation(_RunRight.toString());
}
if(isKeyReleased(_RightControl))
{
actor.setXVelocity(0);
actor.setAnimation(_StandRight.toString());
}
}
}
});
addKeyStateListener(_JumpControl, function(list:Array, pressed:Boolean, released:Boolean):void {
if(wrapper.enabled && released){
if((sameAs(_JumpingMovment, true) && sameAs(_Jumping, 1)))
{
actor.setYVelocity(-(_JumpSpeed));
_Jumping = 0;
propertyChanged("_Jumping", _Jumping);
}
}
});
addCollisionListener(actor, function(list:Array, event:Collision):void {
if(wrapper.enabled && sameAsAny(getActorGroup(1),event.otherActor.getType(),event.otherActor.getGroup())){
if(sameAs(_Jumping, 0))
{
_Jumping = 1;
propertyChanged("_Jumping", _Jumping);
}
}
});
}
public function Design_4_4_Movement(actor:Actor, scene:GameState)
{
super(actor, scene);
nameMap["Left Control"] = "_LeftControl";
nameMap["Run Speed"] = "_RunSpeed";
nameMap["Right Control"] = "_RightControl";
nameMap["Left and Right Movement?"] = "_LeftandRightMovement";
nameMap["Run Right"] = "_RunRight";
nameMap["Run Left"] = "_RunLeft";
nameMap["Stand Right"] = "_StandRight";
nameMap["Stand Left"] = "_StandLeft";
nameMap["Jumping Movment?"] = "_JumpingMovment";
nameMap["Jump Control"] = "_JumpControl";
nameMap["Jump Speed"] = "_JumpSpeed";
nameMap["Jumping"] = "_Jumping";
nameMap["On Ground"] = "_OnGround";
nameMap["Actor"] = "actor";
}
override public function forwardMessage(msg:String):void
{
}
}
}