• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

pass variables between classes

New Here ,
Jul 17, 2012 Jul 17, 2012

Copy link to clipboard

Copied

Hi! I'm new to flash actionscript and i'm making a small game right now.I was thinking about creating seperate movieclips for each game level and assign seperate classes to them so it's more clean and easy to code.

eg:-

level1-level1.as

level2-level2.as

level3-level3.as

My problem is how do pass variables(like health,score,etc)to the next level?

plz help i'm stuck on this and i searched a lot but couldnt get the right answer..

oh,and i'm using flash cs3 with actionscript 3.0

TOPICS
ActionScript

Views

2.5K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Deleted User
Jul 18, 2012 Jul 18, 2012

I don't think you truly understand what movieclips and classes are.

MovieClips are display objects; your character, the enemy, items, platforms < these will be movieclips

Classes can be used to define new elements or extend existing ones such as an Object or a MovieClip.

For the purposes of making a game, I would separate the levels by frames.

make level 1 on a frame labeled "level 1"

and level 2 on a frame labeled "level 2"

variables will carry from frame to frame.

use gotoAndStop(frame_label) to swit

...

Votes

Translate

Translate
Enthusiast ,
Jul 17, 2012 Jul 17, 2012

Copy link to clipboard

Copied

in your class you need define public vars

public var variable:Number;

Youn need a main Class to import  all the another class in this

then you can call the variables

ClassName.variable

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jul 18, 2012 Jul 18, 2012

Copy link to clipboard

Copied

i'm sorry i understood the public var part and how to call the variables  but how do i import the other classes?

can you give an example code plz?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Jul 18, 2012 Jul 18, 2012

Copy link to clipboard

Copied

I don't think you truly understand what movieclips and classes are.

MovieClips are display objects; your character, the enemy, items, platforms < these will be movieclips

Classes can be used to define new elements or extend existing ones such as an Object or a MovieClip.

For the purposes of making a game, I would separate the levels by frames.

make level 1 on a frame labeled "level 1"

and level 2 on a frame labeled "level 2"

variables will carry from frame to frame.

use gotoAndStop(frame_label) to switch between levels

*make sure to use stop(); on the first frame to stop from cycling between frames.

*you can make separate frames between each level that has the code "gotoAndStop(previous level)" to prevent people from hitting "play" on the swf and cycling through your levels.

you can also look up SharedObjects as a method of storing variables even after the swf is closed.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jul 19, 2012 Jul 19, 2012

Copy link to clipboard

Copied

thanks for the answer it was REALLY helpful... i decided to use shared objects since i only need to pass about 5 variables each level.

and by the way,what i meant by "movieclip for each level" was take enemies,player and stuff like that  and put them inside another mc which is the level...it may not be a good method,but i'm just a beginner soooo

p.s. and also,the game i'm making doesnt fit into one genre,it's more like different stuff in each level(level1-shooting,level2-platformer...)so its really confusing to write it all in one place.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Jul 19, 2012 Jul 19, 2012

Copy link to clipboard

Copied

No Problem sounds like Warioware.

Ah, so you want to have a holder MovieClip that stores all of the other MovieClips for each level.  Do you plan on removing the MoveClip via removeChild() and adding the new level via addChild()?

Just some words in advance:

If removing the holder MovieClip gives you errors, you may have to clear the holder MovieClip of it's children and it's event listeners before removing the holder itself.

while (holder.numChildren > 0)

{

     holder.removeChildAt(holder.numChildren-1);

}

^ fast and effective way of clearing the holder of it's children.

and also:

The method of separating levels by frame is also a good way to organize your actionscript.  The actionscript for each level would go in the same frame as the level, so it would be separated.  The only drawback is the "cycling" I talked about above, and you would have to remove any event listeners before moving to the next frame.

That is all, Good Luck!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jul 19, 2012 Jul 19, 2012

Copy link to clipboard

Copied

haha i was wondering how to remove mcs thanks  4 the code example

oh by the way,do u mean there's a way to add seperate codes for each frame to run when it loads?(did u mean the actions panel in the timeline?,coz i thought it was unprofessional to put important codes in the actions panel )

sorry if i'm bothering you with all those questions

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Jul 20, 2012 Jul 20, 2012

Copy link to clipboard

Copied

Click on a frame > open actions-frame panel

Haha, you have it backwards .  It's unprofessional to put code in separate MovieClips, because it's messy to have parts of the same code on many different MovieClips!

Are you using as3? because as3 won't even allow you to place code on a MovieClip anymore, unless it's on a frame inside of the MovieClip. (as2 does allow it)

And yes, you can have different code on each frame that works only for that frame; variables and event listeners from the previous frame are the only things that are passed over from frame to frame.

And it's fine, I enjoy helping

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jul 20, 2012 Jul 20, 2012

Copy link to clipboard

Copied

LATEST

oh i see..i didnt know that..

yeah i'm using as3 but it worked when i tried it!i think thats because i didnt put the code in the actions panel in the mc.i made a .as file with the same name of the mc so when the mc loads,the .as file will also load.i guess its not a good idea to do that..

btw,i thought i should postpone making the game coz its toooo boring to do it alone..i mean i have 2 code it,draw the graphics,add music and do all that stuff before the summer vacation ends...so im gonna just read some manga & play pokemon

THNX ANYWAY FOR ALL UR SUPPORT (maybe i'll do it in the christmas break )

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines