ActionScript 3.0 :: Display Instances Of Movie Clip In A Grid Pattern?
Feb 10, 2009
I want to load a range of images (20-30) each contained in a movie clip, and position them on the stage in a grid (table) format using actionscript. These images will be loaded from an XML file to make updating them a simple task in the future.
I have followed a tutorial to produce a "carousel" and this allowed me to have as many images as I wished loaded by the actionscript. I am sure that it is possible to have the items arranged however one would like provided you code the script correctly, and this is my problem. I cannot work out the correct code to get the movie clips into the desired arrangement. how to position the items in various arrangements/patterns. I do not want a scrolling thumbnails solution. I want them to be multi-row/column.
I want to load a range of images (20-30) each contained in a movie clip, and position them on the stage in a grid (table) format using actionscript. These images will be loaded from an XML file to make updating them a simple task in the future.
I have followed a tutorial to produce a "carousel" and this allowed me to have as many images as I wished loaded by the actionscript. I am sure that it is possible to have the items arranged however one would like provided you code the script correctly, and this is my problem. I cannot work out the correct code to get the movie clips into the desired arrangement.
how to position the items in various arrangements/patterns. I do not want a scrolling thumbnails solution. I want them to be multi-row/column.
i've tried placing the code in the actions pnel of the mc; on the mc at the main time line and in various other unspeakable places... but i always get the same error warning me that this code can only be used in movieclip instances and that my stupidity levels are reaching dangerous levels. (error: 'Symbol=stage_mc, Layer=actions, Frame=1: Line 5: Clip events are permitted only for movie clip instances
onClipEvent(enterFrame){'
i fear somebody will reply to this with:'the code goes on the movieclip instance'...at which point i will take up a career in knitting (i knew i shouldn't have given up the course in the first place)
I have Flash CS4. I like the way the Vine Pattern can be animated with the Art Deco Tool, but I don't like the vines.The Grid Pattern, however, is good. But... there's no Animate check box as there is with the Vine Pattern.
It's me again and I'm running into a problem. So, I have this movie clip that is nested inside multiple movie clips. I want to tell Flash to perform an action when that movie clip hits another movie clip in the main timeline. It's just collision detection for a game using the hitTestObject code. I was thinking of using MovieClip(root), but that won't work since it's nested so much.
Code: //This function uses loops to generate the grid from the array below. function drawIt(theMap) {
[Code]....
Basically, it generates a grid from two movie clips which are just different coloured squares. It reads in generateMap function to decide whether it will be a red square or a white square. 0 = white 1 = red. (the reds are going to prevent a sprite from travelling on them)
Anyway, at the moment the starting point for generating this grid is at 0,0 of the movie clip. I want it to generate at say 150,0 so i can add a console on the left which can control a sprite around this grid.
if there is a way to use movie clip instances with FOR loops (yeh I'm not skilled with OOP so I premade mc's instead using loadMovie :for example I made manual SwapDepth function between movieclips, I have hero1_mc, hero2_mc,...,hero6_mc and enemy1_mc,..., enemy12_mc. The code looks something like this:
...and so on, code works fine but if I were to write all compares manually it will be thousand lines of code to check each movie clip with each other.So I was wondering is there any way to put those movie clip instances hero1_mc, hero2_mc... into FOR loop like (code doesn't work, if there could be a way to replace numbers with variables):
Code:
for (i=1; i<18; i++) { for (j=1; j<18; j++) { if ("_root.hero"+i+"_mc" > "_root.hero"+j+"_mc") { .......
so I don't have to type all combinations D: so far I haven't found any way to do so, is there any way to make something similar with FOR loop and movie clips? I'm working on my project with AS2.
I have a movie clip that is simply a rectangle with no stroke color and a fill color of red. I applied a glow filter with a green color and it glows. So far so good. I pulled another instance of the same MC and changed the instance's color to blue by changing the tint. Then I applied the green glow filter but the glow is blue and not green!
I pulled another instance of the MC and changed the instance's color to yellow by adjusting the Advanced effect from the properties of this instance. Then I applied the green glow filter but the glow is yellow and not green! Somehow when I change the instance's color through tint or advanced the glow filter does not work as expected. What is the proper way to change a MC's instance color and apply a filter to it?
I'm creating an XML custom card game and am at the point of building the deck and making them draggable so the user can drag and drop them on top of another card.how to build the deck and put multiple instances of the movie clip that resides in the library, I just cannot figure out a way to make each one of the cards draggable. What currently is happening is the card on top of the deck is the only one that will drag, even if I click on the card below it. I have researched setChildIndex(), but I don't think I am using it correctly.
Another issue I'm having is when the user clicks the click_btn (named for testing only) to build the deck it takes a while to build it, can that be sped up any? Then once the user clicks the first card to drag it there is another long wait?
Document Class (CardGame.as) package library { import flash.display.*;[code].....
The xml file actually has 64 activity card entries and 41 event card entries, but I trimmed it down to make it easier.
For example if I wanted to do something like make a function which is used to spawn multiple instances of an enemy movie clip.[code]do this a specified number of times.How would I go about doing something like this? And what is the syntax for referring to these generated movie clips from outside of the movie clip (so i could do things like remove them, change x/y,alpha, ect, individually)I really just don't have an intuition for how movie clips actually work in actionscript, and its been holding me back a great deal.
I've got a couple instances of the same movie clip on the stage. Via actionscript, I want to apply a tween to both instances. Then, when you click on the instance I want its tween to stop, but not affect the other instance. Does that make sense?
What my team is trying to do right now is build a game. It is a game where the user can build their own bike from different parts, and then test it in other challenges.
Right now I'm at the stage where they are building the bike. The first thing I'm trying to set up, is allow the user to push 3 different buttons that will change the appearance of the tires. I have the bike on a movie clip, then the tires on another movie clip within that, and then three different types of tire movie clips within that tires clip (make sense? bike>tires>3 tire clips). So I think the easiest thing would be is to somehow script each button on the root frame to just swap out the instance of the tire (the three types are: thick, aerodynamic, and trick).
I have a movie clip named "restlink." I drag it to frame one on layer "link," and give it an instance name of "link1." At frame 100, I create a keyframe on "link" layer, and change the instance name to "link2." In frame one of the "actions" layer, I enter the following:
I am trying to add around 20,000 instances of a single small movie clip (HexTile) from the library into a container Sprite using actionscript. The problem is it loads immediately and it loads very slowly, so I would like to know if there is a way to preload it? The class that adds the movie clip library symbol (World) is not the document class, nor is it referenced from the document class. I have tried dragging an empty sprite linked to World, and I have tried exporting it to other frames as well is preloading it as it's own .swf...
I have a movie clip 'sliderMc' which contains two other clips 'slider' and 'groove'. I've used actionscript to make the 'slider' clip move along the 'groove' and display the value of the at each point in a text field. The idea is to have a slider object that i can use multiple times. I want a situation whereby I can create instances of 'sliderMc' so that I'll be able to move the slider on the individual clips and have each slider update different variables which would then be sent to an XML file or php. Im able tp talk back and forth between php and xml with no problem; The issue I'm facing is that after creating multiple instances of 'sliderMc', I'm not able to give the 'slider' and 'groove' movie clips different instance names without changing the instance names of all other 'slider' and 'groove' instances of 'sliderMc'. Which in turn makes it difficult to distinguish between the different sliders in actionscript.
I have a flash project consisting of a single frame in the main time line. Upon user interactions many movie clips fade into the stage. My problem is that i am unable to continue working on these animations when i set the movie clips 1st frame to zero opacity. What is the correct way to access my movie clip instances when I am unable to simply double click on them?
I have the following code below which creates two movie clips on the stage dynamically. How would I give the two movie clips different instance names, so I can add separate event listeners to them?
ActionScript Code: for (var i:uint = 0; i < 2; i++) { var my_box:Box = new Box();
I have a project with two text boxes, "nameBox" and "controlBox" and a button, "createButt",I want the code to control boxes that are made in ActionScript separately, so if i put Hello into the nameBox and press createButt it will create a box with a variable attached called the playerName being the name that is entered in nameBox, when i type the name of the block into the controlBox the block will start to move, the problem is though, doing it with two blocks on the stage it will only move the block every two frames and any more will be slower, is there any way to make this code move the specified block every frame?[code]...
I have a movie clip on the root which contains my menu. And another movie clip which plays my video. Basically when i click a menu item it calls a function which i want to able to send a command to my video player to play another video.
This is code inside my video player movie clip (i've missed out the including of the class and various config stuff - below is just so you see the name of the class instance)
var MDVideo:MD_VideoPlayer; var videoPath:String = "assets/ski_video.flv"; MDVideo = new MD_VideoPlayer(videoPath, local_config_obj);
[Code]....
How do i access the MDVideo instance from my menu movie clip?
i know its probably been answered here before but I havent been able to find exactly what i need to make it work. Plus this is my first time doing AS3 so
I have created a movie clip which contains a button and a dynamic text field, instance name "anwTxt". In the dynamic text field I entered just the word "field" and set the the following in the properties window: multiline=true, wordwrap=true, font=16, font color=white.I then dynamically create multiple instances of this movie clip at run time, populating the text field from the contents of a user defined array. However if the text inserted from the array is to long it is simply cut off, instead of continuing on to a new line. Does anyone know why the field will not generate new lines, or have another solution to this issue?
Supporting info:
Code: Comments to explain //inside a for loop[code]....
Using "holder2.anwTxt.multiline = true;" has no affect. If I attempt to alter the height or width of the textfield (ie.holder2. anwTxt. height = 400 I recieve the error "thats a read only property"
I've done some basic flash for my college course and i'm moving onto advanced flash and Actionscript. For this, i'm trying to build a "construction game".
What I have is objects on the right side, and I want to be able to drag out copies of those objects onto the left and have the size and rotation of each object adjustable...
So say click and drag on a circle, it puts a copy of the circle where I place it on the left. I can then drag that circle around, scale it or rotate it, or if I decide I don't want it at all, drag it onto a recycle bin icon and have it removed.
I'd like to be able to make as many copies of that circle as allowed (so maybe a limit of 10?), and have each one adjustable when you "select" it...
been working in Flash using AS2 and loading external XML data into the movie. I am able to load the data into in Flash and parse it, but I haven't been able to figure out how to load the names of buttons from separate nod values into a textfield.Unfortunately, I dont feel I know AS3 well enough and am a little bit rusty on my AS2.I created a movie clip which holds the dynamic textfield and placed 30 instances on the stage. Each instance is successively named "cityName[i]" where i is a number from 1-30. I've tried setting the instances as both buttons and movie clips. I also tried setting both the .text and.htmlText attributes, but neither works. Ive embedded the fonts on the dynamic text field. Ive also tried changing the field to input instead of dynamic but that doesnïwork either. Ive been tracing things to try to debug, but havenï found the issue yet.Here's the code:
ActionScript Code: //load XML data var citiesData:XML = new XML();
Ive been working in Flash using AS2 and loading external XML data into the movie. I am able to load the data into in Flash and parse it, but I haven't been able to figure out how to load the names of buttons from separate nod values into a textfield.
I created a movie clip which holds the dynamic textfield and placed 30 instances on the stage. Each instance is successively named "cityName[i]" where i is a number from 1-30. I've tried setting the instances as both buttons and movie clips. I also tried setting both the .text and.htmlText attributes, but neither works. Ive embedded the fonts on the dynamic text field. Ive also tried changing the field to input instead of dynamic but that doesnt work either. Ive been tracing things to try to debug, but havent found the issue yet.
Here's the code: Code: //load XML data var citiesData:XML = new XML(); citiesData.ignoreWhite = true;
My application creates instances of a movie clip (located in the library) based on XML data. Now I want to add individual button functionality to these instances, and I'm stumped.
I'm basically creating instances of clickable doors, the data of which are fetched from an external XML file. The number of doors (doorCount) is calculated directly from the number of "door" nodes in the XML, so it needs to be fully dynamic. Essentially, I want to have a single function that each instance can use by passing in their individual XML data. Clicking a door would first open the door (or something similar), and clicking it again would lead to a link, listed in each instance node.
Here's the loop, where the instances are created:
[Code].....
I don't really know where to begin. Am I able to declare an eventListener inside the loop? How do I pass the "number" of the door to the function called by the eventListener? Or should I somehow pass the door-specific link (and any other node data) to the function directly from the loop?
click btSpawnAdd 1 mcObject to the stage, with a limit of 5 maximum of that objectclick btDestroyRemove 1 mcObject from the stage until all are goneI assume you'd use classes and arrays to get this done? I've managed to get a button creating objects onto the stage by doing that, but I can't figure out how to set a maximum.The end goal is to create drag & drop objects by clicking a button, and then being able to drag those objects onto a "recycle bin" to remove one.