Okay so I’m using wiiFlash with Adobe Flash Professional. On Keyframe One I want interaction with the wiimote, but on Keyframe Two and onwards there will be no further interaction.
Here is my code:
Keyframe One:
stop(); import org.wiiflash.Wiimote; import org.wiiflash.events.ButtonEvent; import org.wiiflash.events.WiimoteEvent; import flash.events.*; var myWiimote:Wiimote = new Wiimote(); myWiimote.connect (); var aButtonClicks:Number = 0; addEventListener (Event.ENTER_FRAME, buttonPresses); function buttonPresses (event:Event){myNumber_txt.text = String ("A Button Clicks:"+aButtonClicks); } var Health:Number = 100; addEventListener (Event.ENTER_FRAME, healthscore); function healthscore (event:Event){myHealth_txt.text = String ("Health:"+Health); } addEventListener(Event.ENTER_FRAME,enterFrameHandler); function enterFrameHandler(e:Event):void { if (yellow.hitTestObject(red)) { yellow.gotoAndPlay(2); yellow.x-=14; Health--; myWiimote.rumbleTimeout = 50; } } doesitwork.addEventListener(MouseEvent.CLICK,onNext1); function onNext1(event:MouseEvent){ nextFrame() } var mySynchronize:Synchronize = new Synchronize(); addChild( mySynchronize ); mySynchronize.x = (stage.stageWidth - mySynchronize.width) / 2; mySynchronize.y = (stage.stageHeight - mySynchronize.height) / 2 // Register Wiimote Button Events myWiimote.addEventListener( ButtonEvent.A_PRESS, onAPressed ); myWiimote.addEventListener( ButtonEvent.A_RELEASE, onAReleased); myWiimote.addEventListener( ButtonEvent.LEFT_PRESS, onLeftPressed ); myWiimote.addEventListener( ButtonEvent.LEFT_RELEASE, onLeftReleased); myWiimote.addEventListener( ButtonEvent.RIGHT_PRESS, onRightPressed ); myWiimote.addEventListener( ButtonEvent.RIGHT_RELEASE, onRightReleased); myWiimote.addEventListener( ButtonEvent.UP_PRESS, onUpPressed ); myWiimote.addEventListener( ButtonEvent.UP_RELEASE, onUpReleased); myWiimote.addEventListener( ButtonEvent.DOWN_PRESS, onDownPressed ); myWiimote.addEventListener( ButtonEvent.DOWN_RELEASE, onDownReleased); myWiimote.addEventListener( ButtonEvent.B_PRESS, onBPressed ); myWiimote.addEventListener( ButtonEvent.B_RELEASE, onBReleased); myWiimote.addEventListener( ButtonEvent.MINUS_PRESS, onMinusPressed); myWiimote.addEventListener( ButtonEvent.MINUS_RELEASE, onMinusReleased); myWiimote.addEventListener( ButtonEvent.PLUS_PRESS, onPlusPressed); myWiimote.addEventListener( ButtonEvent.PLUS_RELEASE, onPlusReleased); myWiimote.addEventListener( ButtonEvent.HOME_PRESS, onHomePressed); myWiimote.addEventListener( ButtonEvent.HOME_RELEASE, onHomeReleased); myWiimote.addEventListener( ButtonEvent.ONE_PRESS, onOnePressed); myWiimote.addEventListener( ButtonEvent.ONE_RELEASE, onOneReleased); myWiimote.addEventListener( ButtonEvent.TWO_PRESS, onTwoPressed); myWiimote.addEventListener( ButtonEvent.TWO_RELEASE, onTwoReleased); myWiimote.addEventListener( Event.CONNECT, onWiimoteConnect ); myWiimote.addEventListener( IOErrorEvent.IO_ERROR, onWiimoteConnectError ); myWiimote.addEventListener( Event.CLOSE, onCloseConnection ); myWiimote.addEventListener( WiimoteEvent.UPDATE, onUpdated ); functions etc follow
Keyframe Two (this is where I am trying to nullify all communications and interactions with wiiFlash:
stop(); myWiimote = null; removeEventListener (Event.ENTER_FRAME, buttonPresses); removeEventListener (Event.ENTER_FRAME, healthscore); removeEventListener(Event.ENTER_FRAME,enterFrameHandler); myWiimote.removeEventListener( ButtonEvent.A_PRESS, onAPressed ); myWiimote.removeEventListener( ButtonEvent.A_RELEASE, onAReleased); myWiimote.removeEventListener( ButtonEvent.LEFT_PRESS, onLeftPressed ); myWiimote.removeEventListener( ButtonEvent.LEFT_RELEASE, onLeftReleased); myWiimote.removeEventListener( ButtonEvent.RIGHT_PRESS, onRightPressed ); myWiimote.removeEventListener( ButtonEvent.RIGHT_RELEASE, onRightReleased); myWiimote.removeEventListener( ButtonEvent.UP_PRESS, onUpPressed ); myWiimote.removeEventListener( ButtonEvent.UP_RELEASE, onUpReleased); myWiimote.removeEventListener( ButtonEvent.DOWN_PRESS, onDownPressed ); myWiimote.removeEventListener( ButtonEvent.DOWN_RELEASE, onDownReleased); myWiimote.removeEventListener( ButtonEvent.B_PRESS, onBPressed ); myWiimote.removeEventListener( ButtonEvent.B_RELEASE, onBReleased); myWiimote.removeEventListener( ButtonEvent.MINUS_PRESS, onMinusPressed); myWiimote.removeEventListener( ButtonEvent.MINUS_RELEASE, onMinusReleased); myWiimote.removeEventListener( ButtonEvent.PLUS_PRESS, onPlusPressed); myWiimote.removeEventListener( ButtonEvent.PLUS_RELEASE, onPlusReleased); myWiimote.removeEventListener( ButtonEvent.HOME_PRESS, onHomePressed); myWiimote.removeEventListener( ButtonEvent.HOME_RELEASE, onHomeReleased); myWiimote.removeEventListener( ButtonEvent.ONE_PRESS, onOnePressed); myWiimote.removeEventListener( ButtonEvent.ONE_RELEASE, onOneReleased); myWiimote.removeEventListener( ButtonEvent.TWO_PRESS, onTwoPressed); myWiimote.removeEventListener( ButtonEvent.TWO_RELEASE, onTwoReleased); myWiimote.removeEventListener( Event.CONNECT, onWiimoteConnect ); myWiimote.removeEventListener( IOErrorEvent.IO_ERROR, onWiimoteConnectError ); myWiimote.removeEventListener( Event.CLOSE, onCloseConnection ); myWiimote.removeEventListener( WiimoteEvent.UPDATE, onUpdated );
I keep getting this error when I go to Keyframe Two, it says:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at yaw3_fla::MainTimeline/onUpdated()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at org.wiiflash::Wiimote/update()
at WiiSocket/onSocketData()
It keeps reporting this over and over again in the Compiler Errors window.
PLEASE HELP!