ActionScript 3 :: Getting List Item Index On Mouse Rollover Event
Feb 16, 2011
I am trying to get the index of an item in a List object on a mouse roll over event (please keep in mind this is not the selectedIndex I need). Heres the code I am currently using:
list.addEventListener(ListEvent.ITEM_ROLL_OVER, onItemRollOver);
function onItemRollOver(e:Event):void {
var itemInfo:Number = 0;
/*This is where I need the Index Number of Item being Rolled over instead of Selected Item*/
itemInfo = list.selectedIndex;
txt_Display.text = 'Item Index #: ' + itemInfo;
play();
}
I change an item in Spark List. The item then moves to a different index in the list since I keep the List's dataProvider sorted. However, the selectedIndex stays where the item used to be. I want the List's selectedIndex to still be on the item that changed.
I have a map of items and I need to know when a mouse moves over the item. Should I add a event listener for mouse over and mouse out to each item (there may be a lot) or I should add mouse over and mouse out listeners to whole container and do some checking to detect whether the target has item on it or not? In the second way it would mean that the event would occur on entering each map tile in the container i would be listening. This seems a bit pointless, but I heard somewhere that I should add as little as possible.. So what should I do?
I'd like to display tool tips, once the user holds his mouse on an item of an opened combobox.Ifyou open the drop down list of a combo box, you'll see a list ofelements/items. Each of them can be accessed e.g. viamyCombo.getItemAt(0) .To me it seems I only get an object with adata and label property. But I think there must be more to it, becausewhen you hold your mouse over a sub-element, it'll be highlighted. Thismeans that there is some event listener on that very single item. Sohow can I do this?[code]
I would like to populate a combobox from XML file in Flash. Then, when a list item of combobox is pressed then thumbnail image of that particular category is being loaded in a movieclip from XML file.
I spent a hard time to achieve this, but there is no success.
I used this code so far to accomplish this task.
Code: var myXML = new XML(); myXML.ignoreWhite = true; myXML.onLoad = function(loaded){
I have prepared a simplified test case for my question. It will run instantly in your Flash Builder if you put the 2 files below into a project.I'm trying to display a List of strings and a confirmation checkbox in a popup:In the real application I dispatch a custom event with the string selected in the list, but in the test code below I just call trace(str);My problem: if I use click event, then the window closes, even if I click at a scrollbar (the !str check below doesn'twhen an item had been selected in previous use). And if I use change event, then the window doesn't close, when I click on the same item as the last time.riting a custom item renderer and having a click event handler for each item seems to be overkill for this case, because I have strings in the list.Test.mxml: (please click myBtn few times - to see my problems with click and change)
I created a button that has a movieclip in the rollover state. When you rollover the mouse, the movieclip will animate to appear as if the button will scale from a small to a large button even though it is the movieclip that is playing and not the button itself. But I also want to add a keyboard code to play the rollover instead of the mouse. I learned to write actionscript to play different scenes with the code below, but I'm not sure if I can play a button rollover with the same code.
stage.addEventListener(KeyboardEvent.KEY_DOWN, key_pressed); function key_pressed(event:KeyboardEvent):void { if (event.charCode==49) { gotoAndPlay(1,"scene"); }
I'm creating a mobile app in which I need to show a calendar with months at the top. The months are part of a component that extends from SkinnableDataContainer (and has some custom scrolling/behaviour - which is why I did'nt use a spark list). I need the months to be shown as a 'trapezium' shaped tab and so I'm using a png image as a mask in the item renderer for the component.
When the mask is not applied, it all works well - the months render, the list/data container selection works when I click on a month and so on.When the mask is applied, it renders well, scrolling and everything else seems to work well - but when I click on a month, nothing happens visually. And from the trace statements in my code, it appears list item selection is not changing. Looks like mouse clicks are not working.
Code:
public class TopCalendarMonthRenderer extends LabelItemRenderer { [Embed(source="/assets/trapezium_alpha.png")] private static var TrapeziumMask:Class; private static var trapeziumMaskInstance:BitmapAsset;
I want to be able to select an item from my list component and fire a function directly related to selecting that item. list is called "tidlist" function is "selecttid(n)" the "n" needs to be replaced with the index number... so if run my swf and the list component displays my items... when i select one (the third one for example)... i want to fire "selectTid(3)".... cant seem to grasp.
I want to be able to select an item from my list component and fire a function directly related to selecting that item.
list is called "tidlist" function is "selecttid(n)"
the "n" needs to be replaced with the index number... so if run my swf and the list component displays my items... when i select an item (the third one for example)... i want to fire "selectTid(3)".... cant seem to grasp.
Creating a dynamic list and associating a picture with each list item. i need the list to be scrollable, and i want the list and it's associated picture to be displayed randomly when the application is re-launched. i.e it doesnt show the same list everytime.
I also what to be able to sort the displayed list items. e.g if the list items is about restaurants, i want users to be able to sort the displayed items by either; district, cusine type and gastro type.
I want to add a SimpleButton to a list item in a list component. I am getting the CellRenderer for the list item I want and using the addChild method to add the simple button. The button appears in the right spot on the list item but it doesn't function like a button. It's like the contents of the buttons first frame is added to the CellRenderer and nothing else.
I have a tricky problem in that I have an array that has been populated with strings ("item1", "item2", etc). However, at a certain point I need to pull one randomly out of the group, via a random number function. The issue is I cannot reference the items in the array by a number, I get an error. So when I try to get myArray(5) it doesn't work.
How can I work around this so I can grab a random item in my string array?
I've got a subclass of AdvancedDataGrid showing a tree-like data structure. How can I, given the index returned by calculateDropIndex, get the item at that index? After reading through reams of code, it seems like the least terrible way is:
var oldSelectedIndex:int = this.selectedIndex; var mouseOverIndex:int = this.calculateDropIndex(event); this.selectedItem = mouseOverIndex; var item:* = this.selectedItem; this.selectedIndex = oldSelectedIndex;
The other option seems to be tinkering around with the iterator property... But, judging by the way I've seen it used, that will get pretty harry pretty quickly too. So, how can I get the item at a particular index in an advanced datagrid without going insane?
I'm using actionscript 1.0 and 2.0 on flash Pro 8 and keep getting an error when I test the movie. Here is the error:
[Code]...
I've tried to create this rollover navigation...starting over 6 times already. Is there different language / coding for 1.0 and 2.0? I don't understand what I'm doing wrong.
The script for my timer worked for one button but as soon as I set up the other 2 buttons to do the same, I started having a problem where the rollover action would go after the set amount of time was up but then would repeat itself once after the set amount of time was up again. just to clarify, if it needs it, the reason I don't have a rollout attached to these buttons is because I want the menu to stay out until you leave the menu area
so I have an invisible button called menuin_btn which sits to the right of the menu and covers the rest of the stage where the content will be, so you have to rollover that area for the menu to roll back in. The "rollin" in my code brings the movie clip to frame 16 (the end) where I have a gotoAndStop(1); command to get it back to frame 1 so the rollover can be used again. I've attached a zip with my current flash file and swf and here is what my current script looks like on the main scene:
I'm doing a drag and drop operation on a tree using some help from Adobe's quick Starts:[URL]
The code suggested is roughly this:
var dropTarget:Tree = Tree(evt.currentTarget); var i:int = dropTarget.calculateDropIndex(evt); myTree.selectedIndex = i;
[Code].....
EDIT: I forgot to post that my current workaround is setting the selectedIndex = -1 after I get my node:XML. I'm afraid that if something bogs on the processor the user may see it select then deselect.
I've been trying yo convert Lee 3D carousel tut to AS3 and it pretty much there apart from one thing. I took Lee's as2 carousel 2 and applied what I know to convert it to AS3. I couldn't work out how to re-index each item properly. When the last item in the XML should appear under an item to it's left or right it does not due to numbers being rounded from the scaleX value being too close and causing the same number to be generated from more than one item therefore last item to be processed ending up on top. I've tried a few alternatives, but nothing has worked so far. Hopefully that makes to sense to someone.
If you download the files from Lee's tutorial http:[url].... open the fla, change the publish settings to Flash Player 9+ and AS3, remove all existing AS code, check the library item linkage as I've capitalized everything and add the following to the root timeline.The code causing the problem is this in the function mover:
i see that theres the array.push and array.unshift, but thats just the beginning and the end of the array. how would i go about inserting an item(s) into an array at the desired index?
I am using a the spark tabbar and gave a view stack as dataprovider.....in the view stack there are n elements ...and each element has a panel....my code would be some thing like this....
I have a label inside a repeater (rptInfos), and I have an arraycollection (Texts) that has the translations. The "Texts" content is changing when I change the language, and normally I use {Texts.getItemAt(219}} for example when I need a translated text. But in the repeater I have a translateable column, so I want to use it like this:
<s:Label text="{Texts.getItemAt(rptInfos.currentItem.DictID as int)}" />
but it says "Syntax error: expected a definition keyword (such as function) after attribute , not target".I wanted to translate it in the labels creationComplete event, but than I can forget about binding, so only when reloaded can I have the content to update.
I have a textBox and I am using it as a mail address input field where the user can type in several addresses, a bit same as in hotmail. Each address is rendered into a clickable button. Thus upon double-clicking on a specific address I want the item to be editable. After having edited the address when the user taps enter, the item is added to the list of mail adds.I am adding it using the code below:
flowBox.addChildAt( myItem, myindex);
However addChildAt seems to add the item as the last item in the list. But I want it to add the item the position where it was originally. Say the item was at position 2 in the mail list, after editing adn tapping enter, it should add at position 2 itself and not at the end of the list.