ActionScript 3.0 :: Tertiary Class Not Listening To Keyboard Events?
Oct 30, 2010Here's my code: [URL]
I'm using Flash Develop.
The trace command never gets executed. Why?
Here's my code: [URL]
I'm using Flash Develop.
The trace command never gets executed. Why?
I'm creating an AIR application that loads a child SWF. The child needs to read keyboard input (for a game), which I usually do by adding a keyboard event listener to the stage property, like this: stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp)
However, the child SWF is apparently not allowed to access the stage property because the parent SWF owns the stage, so I get a security sandbox violation. So I need to do one of two things:
Bypass the security restriction allowing AIR to load SWFs that have an absolute path (local path), and allow that child to access the stage, orGet keyboard events to be heard by some display object other than the stage, without ever calling "stage" (this includes stage.focus).A few things I have tried already: Security.allowDomain() does not work. AIR thows an error saying that allowDomain doesn't work in the AIR sandbox. Also, adding the keyboard listener to the child's document class (then clicking inside the SWF) doesn't work.
I have the Main class that imports my urlValidator class.My urlValidator class imports com.usual.swfaddress and thanks to the SWFAdressEvent fires the function dealing with the validation of the url.In some other class myMenu (child of the Main but on the other branch) I need to listen for the event of validation being completed.I'm importing myEvent (custom event) class to urlValidator and when the validation is complete I'm triggering the dispatchEvent.At the same time I'm importing the myEvent to myMenu class and trying to listen when the myEvent was dispatched (from urlValidator).
View 2 Repliesseem to have trouble getting a keyboard event within a class to work, I have an ENTER_FRAME event which works fine, but the keyboard event never gets called.[code]
View 2 RepliesI'm having a problem with this menu tutorial I followed from ASGamer. I have done and used most, if not all of the tutorials from that site.Anyway my problem is their base menu class;
package com.game.scripts.menu
{
import flash.display.MovieClip;
[code].....
I can't figure what's the problem with the KeyboardEvent . I can't move the ship with keyboard. I have a ship on the stage .
[Code]...
I have 2 scenes. In both scenes, I have a movie clip that moves via keyboard control. If the goto next scene is triggered by the movie clip in the first scene the keyboard control works in the second. However, if I use a button to move to the next scene then there isn't any control over the movieclip in that scene. I've traced the keyCode in the second scene and it is picked up but the switch statement doesn't run. I'm migrating to Actionscript 3.0 and updating something I created in 2.0. I would like to do it without writing a class.
[Code]...
I use an event listener to detect keyboard activity and it is working fine, but when I add a MovieClip to the stage, the event is no more triggered, I need to click on the stage to get it active.The MovieClip fills all the stage, and I tried to add the same event listener to it, but still I need to click on it to get the event listener active.
View 11 RepliesI want to have a main logic class that listens for dispatched events from an assortment of other classes.
for instance: i have a parent Map class that contains X instances of a State class. When the user clicks on a State class, i want to dispatch an event CLICKED along with the name of the state.
now this Logic class will see this new event and process the name of the state and perform some other logic stuff. no matter what i try i can only get it to work where the State class listens for its own Dispatched event. Which to me seems a waste, i could have just manually called the function.
I have read so many tutorials online about custom events/ dispatching and they are being used in a basic one class example.
what the most efficient method is for listening for events up and down a string of parents and children? Example:
(these are parents from left to right) Main Sprite -> Child A -> Child B -> Child C
Child C fires and Event - what's the best way to have Main Sprite listen for it?
1) Make Child B and C "public" so Main Sprite can attach a listener all the way down on C (_childA._childB._childC.addEventListener)
2) Child C's event triggers a Child B event that triggers a Child A event that Main Sprite listens for
Basically I've build a small class that can be imported anywhere in the program and one of it's public methods dispatch a listener, which as I understand can be received anywhere. Is that correct? In my project I've got a menu which slides in and out. It's movement can be triggered mainly bu the buttons on the menu, but I also want to be able to controll it's movement from various places in the program. So i.e. it can slide in or out when something completely unrelated has been clicked. So I've got a class "SlidingPanel" and one of its children is class "SlidingPanelNavigation". SlidingPanelNavigation uses the class that only dispatches the Event, which should be listened in class "SlidingPanel" and the problem is - it doesn't.
My main class that holds the whole menu together:
Code:
package com.zeeto.menu {
import flash.display.MovieClip;
import flash.events.Event;
public class SlidingPanel extends MovieClip {
private var navigation :SlidingPanelNavigation;
[Code] .....
Why the SlidingPanel.slideMenu() isn't fired?
I am working on a simple project involving flex 4 and Mate framework. When I am including Mate event map in fx:declarations tag in mxml file, and when I fire up an event, Mate event handlers listen to events and act upon it.
The issue is this, in action script based project, when I instantiate the eventmap class(this is in mxml file only) and keep it in top and fireup an event, instantiated eventmap is not listening to event fired up from action script class.
I am making a game that uses MVC pattern. The game.swf is loaded into main.swf. I want to dispatch a gameOver event from the Model Class of the game.swf and have the main.swf(parent) listen for it but I can't get it to work.
I have game.swf dispatching events fine amongst itself just fine but I can't get the parent to hear anything.
I tried this in the main.swf
Code: Select allvar loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
function gameOver(e:Event):void
{
[Code].....
I've got a class like this:
class Foo extends UIComponent {
var someDispatcher:*;
...
}
And I want to listen for events fired by someDispatcher... But, of course, someDispatcher may not be bound until "later":
<components:Foo someDispatcher="{someOtherComponent}" />
What's the best way to listen for events from someDispatcher?I know I could bind to someDispatcher, then wire up the event handlers when it's updated... Or I could use getters/setters...
I need to register events in flex and listen to them in java script. Is there any way other than using external interface.
View 1 RepliesI have a menu movieclip and an externally loaded swf on my main stage. The menu mc needs to control the externally loaded swf. For example the swf plays and pauses, then when any of the menu buttons are clicked the swf needs to play thru and be removed. currently I am dispatching an event for each button clicked with a switch statement. In the main timeline I need to listen for each of theses events and based on what button is clicked proceed to the correct content frame. How can I listen for different events and run one function that based on which event is registered perform a task with a switch or if statement?
View 4 RepliesI've got a class like this:
class Foo extends UIComponent {
var someDispatcher:*;
...
[code].....
`i'have a problem with listening events dispatching from their child classes. for example i have contentManager object which is controlling content at the top level of stage. it has a imageGallery object and in the imageGallery objectthere ise a collectionLoader object which is loading images.
now i want to add one preloader to contentManager which always listen for ProgressEvent. when the progressEvent dispatched i want to preloader going to active. becouse there is another objects that are loading images or other kind of files. i think it is a good apporach to solve preloader issue. so my problem is, when collectionLoader object loading images with using queLoader. my QueueProgress event dispatches ProgressEvent evey time, but my preloader object stand at the 2 classes up level, doesn't percive this event.
I'm creating a swf, that has a parent class and a child class. The parent class has a button, that dispatches a custom event and I want the child class to list for this event, but when I dispatch the event the child class does not hear the event has been dispatched.[code]The register EventListeners() function is in the child class.I know events can bubble up the display list but how can then go down the list?
View 1 Repliesi have a question to ask about asynchronous key controls This was what i did
[Code]...
and i checked with [URL]...?newspage=6249 and it looked more or less the same, so why is it that when i move my character and when i hold down a key, it just keeps on listerning to that keypress event listener, instead of just executing the other event. So say, i tap left and after which i tap right, it will work just fine, but if i hold left and tap right, the event listerner will still be listening to the left key. So, i was wondering could anyone point me in a direction as to how should i make my code stop listening to an event as soon as another event has been dispatched?
I am doing this inside a module containing viewstacks and their childs.Calling onInit() on creationComplete of module.When I am inside one of the childs of a viewstack of this module and press Enter, it doesnt not invoke the listener function at all (bp inside this does not get hit).
private function onInit():void{
this.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
}[code]..........
I'm trying to write a simple counter. UP or Space increments a number and DOWN decrements. It's just one big number in the middle of the screen. A bell rings on an increment and I have added code to go full screen on mouse click.[code]...
View 1 Repliesis there a way to use the 'tertiary operator' to shorten this code?
[AS]if (this._x<0) {
this._x = Width;
}
if (this._x>Width) {
this._x = 0;
[Code]...
I'm trying to write a simple counter. UP or Space increments a number and DOWN decrements. It's just one big number in the middle of the screen. A bell rings on an increment and I have added code to go full screen on mouse click.
Test mode works fine ( except for full screen of course).
Seems to work fine on the local machine using Safari 3.2.3
However if I try to run it locally using firefox it does not work.I need it to run on a laptop but it does not always acknowledge the keyboard events and while in full screen it never responds to the keyboard events.Laptop is running Safari 3.2.1
import flash.display.StageDisplayState;
import flash.events.KeyboardEvent;
var chickCount = 0;[code]..........
I was looking at this game called "Tsunami Fighter" (if you google it, it'll be the first thing that pops up�I can't post links sadly) which is a keyboard mashing game. Basically you have to mash a certain keyboard button as fast as possible to stop the rage bar from reaching the top. I tried some things that I thought would work,
How would I script the keyboard mashing part of this game (The part where you have to keep a greater keyboardclicks/second than the rising bar You'll know what im talking about if you play the game. I'm not really concerned at the score or the graphics just the keyboard event thing.
I currently have an over, out and click event for 8 different objects. The over and out events are identical for each (tween expands object and then shrinks it back for the out state).I have previously asked for an easy way to declare those events, and now I was looking for an easier way to handle them.
Here's my code:
//-----------GARAGE
function growGarage(e:MouseEvent):void{
scaleTweenX = new Tween(map_garage, "scaleX", Elastic.easeOut, 0.648, 1, 0.5, true);
[code]....
I've tried using a single function and then using "this" as the object of the tween but that expanded the entire stage.
I created an E-learning project for a customer that has pages that require the user to make keyboard entries. When the user enters a specific letter, the page progresses. The pages work as expected until the customer places the project in a 'wrapper' that controls the navigation. When this is done, the user can make the keyboard entries, but now the page will not progress to the next section. It seems that the wrapper is stopping the system from detecting that the specific letter is pressed.
View 7 Replieswhy the swf does not catch any keyboard events? When i Ctrl+Enter my .fla there is a message appearing that says: "Your content will not stream. Runtime Shared Library (RSL) preloading will require all of your content to download before the first frame will play. To prevent this you can change the Runtime Shared Library Library Settings in the Advanced ActionScript 3.0 Settings dialog which can be raised from the Public Settings dialog. The Runtime Shared Libraries being preloaded are: textLayout_1.0..........."
View 17 RepliesI am adding a key listener to my AIR application like so:
<mx:WindowedApplication
xmlns:mx="http://www.adobe.com/2006/mxml"
keyDown="onKeyDown(event)">
Yet only sometimes when I press keys does it actually invoke. I have no clue why, I thought maybe something else has focus. Well I cannot add key listeners to NativeWindow or NativeApplication, and I would assume if it is on the WindowedApplication which is the root element, that as long as my application has focus the key presses should invoke the listener.
is it true that keyboard events can not be accessed outside of the stage on non display objects?
example:
package
{
//Imports
import flash.events.EventDispatcher;
import flash.events.KeyboardEvent;
[Code].....
here i would like to initialize a new TestClass() then press a on the keyboard to receive the output Test Class: a.