I'm using the Flash ScrollPane component to hold a vertical stack of movieclips. I have implemented functionality to allow the user to drag and drop these movieclips up and down within the vertical stack so they can rearrange the order. My problem occurs when the user drags a movieclip towards the bottom of the scrollpane, I want the content to scroll so the user can drop the dragged movieclip below items which don't fit within the viewiable area of the scrollpane.
I attempted to automatically scroll the pane by incrementing the verticalScrollPosition when the dragged movieclip is towards the bottom of the pane, but this doesn't work as the dragged movieclip is part of the content of the scrollpane and gets moved with the rest of the content. The dragged movieclip moves up with the rest of the content and is no longer under the users cursor:
private function onDragged (e : Event) : void { var draggedY : Number = ComponentHolder(e.currentTarget).y; if(draggedY > this.height - 30 && draggedY > this.height - 25){
I know I'm using an older version of Flash (still using Professional 8) but I'm wondering if it's possible to have items be able to be more interactive in that the user can select an item with their mouse and drag it over another item and drop it on there.
how would you prevent dragging for some items of your List or DataGrid?
Let's say I had a list with two items: 'Tom' and 'Jerry'. Only 'Tom' should be dragable, not 'Jerry'.
Ideally I had a 'isDragEnabled(item:Object):Boolean' function, which is being queried by the drag source.
My difficulties start with the fact that the 'dragStart' event handler has a null value for the dragSource, so right from the start I find it hard to find out what the drag-start is about..
PS There have been a few discussions on preventing or canceling a drop, but I haven't seen much about preventing the drag start, hence this question.
I have a project underway where I am making an interactive game. It is a personal character creator game and I need Actionscript 3 help with this.Something similar here:http:[url].... I have tried already with toggling visibility and 'gotoAndStop()' to make items appear over other items when the corresponding button is pressed, for example, when the user tries out different pants/shirts on their character.
I'm creating a facebook application in flex. I'm actually working on the friends component that shows your friends who are using the application. now, each friend has a profile image.
I created the component using a s:List element.
In the Skin Class of the element i configured the requestedColumnCount to 3, which means it shows 3 friends. i added buttons to scroll left and right in the list.
Whenever I scroll to see a different friend, for a half of a second i see no image because the List component is loading the image in order to view it.
is there a way to make the list preload all the elements so i won't have this kind of problem ?
im having some dificulties in the combobox of Flex 3, after defining the dataProvider and filling the combobox, how can i remove the items in the combobox later (without removing items in the dataprovider)? if i set the provider to "" or null, the items in the combobox are still there
how to get my CollectionEvent to work, and I seem to be able to see the problem, but I am not sure how to get it to work properly.
In my actionscript, it seems to only tell that event.items.length is 1, while I am calling my array collection from the HTTPService, and I have tested the length of my Array Collection, which seems to be accurate. What I tried to do is to use that number in the CollectionEvent function, but that does not work at all.
Attach Code
private function onChange(event:CollectionEvent):void{ for (var i:int=0; i< event.items.length; i++) { Alert.show(event.items.length.toString()); //This always gives me 1 when I have 12 items
I have placed TextFileds inside TileList Compontent. When i try to select the TextField it can't show the selected Textfield in the TileList items by default the TileList items are selected.Finally i need to select the TextFields.
Here is my code:
import fl.controls.TileList; import fl.data.DataProvider; import flash.display.Sprite; import flash.events.Event; function TileListExample() { var dp:DataProvider = new DataProvider(); var totalEntries:uint = 3; var i:uint; for(i=0; i<totalEntries; i++) { dp.addItem( { source:getTf(), scaleContent:false}
I want to if I can set a variable with the mc's name that the mc I'm dragging around hits.I did this before with eval() in as2 but there is not such a thing anymore. [code]...
I am looking for a way to "drag" several movieclips at a time and thereby create a panning effect on the entire stage. The movieclips are supposed to follow the cursor (a mask) on the X axis.
I can start dragging the symbol no problem but no amount of clicking will get it to stop. Am I doing something wrong? Using Flash CS4 with ActionScript 3.
so I am trying to drag around some images in a canvas. I am adding eventlisteners to the components and calling startDrag() and stopDrag() to pick them up and stuff:
The problem is that it is selecting the image at its (0,0) location and not where I initially click on it. So there's a sudden "jump" when I click on the image. It is not smooth.
I noticed that startDrag() has two default parameters, one of them is lockCenter and it is default to false. Maybe do I set it equal to true somehow? (I don't know how to pass arguments to my second parameter in addeventlistener)
Another question: if I want to add more conditions to it, like make a new function that uses component.startDrag(), how do I pass the component to this function while adding event listener to it at the same time? for example: I want to do:
I have a flash project with three non overlapping panels (visual spaces) each of which contains different movie-clips. Each movie-clip in a particular panel is the child of that panel.Now, I want to drag one of the movie-clips from one panel to another (remove it as a child from the first panel and add it to the other) without a jitter and proper drag.What is the appropriate way to handle the drag architecturally
I have a movieclip in the centre of a cross and want to make it move only along the lines of that cross. Is this possible with startDrag or do I need more complicated method? To illustrate: If you've moved left or right, you can't move up or down and vice versa.
I have need to simultaneously move a slider (called "shadeGrabber") movie clip and a mask. I'd like to do this by dragging the slider and seeing the mask move with it.
The example movie clip on the left (called "PICTURE_WIPE") is what I'm going for, but interactive instead. I'm working in the movie clip on the right (called "PICTURE_WIPE copy 2")
Here's my code, for quick reference (found on the "AS" in the "PICTURE_WIPE copy 2" movie clip:
I'm trying to get objects to drag and drop. Instead of dragging just the circle, it drags the entire screen. I can get it to work if I use "this.circle.startDrag()" but I want to be able to use the startMove and stopMove functions on different children, text boxes and other objects generically. Here's the code:
circle.addEventListener(MouseEvent.MOUSE_DOWN, startMove); circle.addEventListener(MouseEvent.MOUSE_UP, stopMove); function startMove(event:MouseEvent):void {
Being adventurous I've got (all built in AS1) a masked area that you can view an image in. I'm trying to make it so you can zoom it in and drag it around, within the masked area, but the dragging locks it so that you can't drag it to the point where it leaves the edge of the masked area - if you follow. So when you're zoomed in, the iamge is never allowed to be dragged off so far that it's not filling the masked area. I've tried all sorts of code and the following code seemed to work well
But since the border size around the image is adjustable (it could be 2, it could be 20) and that eats into the area used to show the image (eg image is offset by imgBorderSize and shrunk by imgBorderSize*2) I tried to factor that into the formulas because once I turned the borders up the above formulas wasn't working right anymore
Code: // imageMC = the clip being scaled/repositioned/dragged limitLeft = 0-Math.round(imageMC._width-maskWidth)-(imgBorderSize*2); limitUp = 0-Math.round(imageMC._height-maskHeight)-(imgBorderSize*2);
[code]....
I also tried to make it so when you zoom in, it zoomed in on the center of the area you can see through the mask, not on the top left - so repositioning is occuring alongside the scaling for the zoom to try and acheive that. Nothing clever, just :
Code: // ZoomCalc range = 0-100; // imageMC = the clip being scaled/repositioned/dragged imageMC._xscale = 100+(2*ZoomCalc); // 100% - 300%
[code]....
When it zooms out however it'd be nice if it didn't snap back to center via the above code, eg if yu're zoomed into bottom left it would stay viewing bottom left as it zoomed out - yeah?If anyone has ANY input to this I'd greatfuly welcome it :/ If I manage to get it working then I have to figure out what my layer above all these layers with clickable buttons don't work as soon as I implemented the dragging of the image layer Is there no way to have buttons on something that is being dragged? ((