Solved

printing array

Posted on 2009-07-15
8
190 Views
Last Modified: 2013-11-11
I am working on a game project. I am adding items to a shopping cart when the player goes to frame 6 i want it to print the items in the cart.
Currently i am using a switch in the main of frame 6. This is long tiresome code.
What i want it to do is work through a loop, if the item code matches that array i want it to print the description, item code, and price on the screen

Here is the code that i have so far......any suggestions

stop();

//displays total cost

total_txt.text = "$" + totalCost;

//creates a text field for the items in the shopping cart

_root.createTextField("cartText", _root.getNextHighestDepth(), 100, 100, 500, 500);

//defines variables for the cart text format and an item in the shopping cart

var cartTextFormat = new TextFormat();

var item:String = "";

//specifies the format of the cartText field

cartTextFormat.multiline = true;

cartTextFormat.color = 0xffffff;

cartTextFormat.font = "Segoe Script";

//displays the header in the cartText field

cartText.text = "Items In Cart\t\t\t\t\t\t\tPrices\n";

 

//loops through the cart to display the items and costs of the items in the cartText field

for(var i = 0; i < cart.length; i++){

	item = cart[i];

	switch(item){

		case "blueshirt":

			cartText.text += "Long Sleeved Blue Blouse\t\t\t\t$" + itemPrices[i] + "\n";

			break;

		case "redblackshirt":

			cartText.text += "Red & Black Ripped Shirt\t\t\t\t$" + itemPrices[i] + "\n";

			break;

		case "shoe2":

			cartText.text += "Pink Sandals\t\t\t\t\t\t\t$" + itemPrices[i] + "\n";

			break;

	}

}

//sets the format to the cartText field

cartText.setTextFormat(cartTextFormat);

Open in new window

0
Comment
Question by:jrb47
  • 3
  • 3
8 Comments
 
LVL 20

Expert Comment

by:a_b
ID: 24860938
If you create a class called item and store those in an cart array you can override the toString method in the class to print the details of Item.


for(var i = 0; i < cart.length; i++)
{
     item = cart[i];
     sysout(item.toString());
}

I am not sure why you need to compare using the switch case.
0
 

Author Comment

by:jrb47
ID: 24861248
I am new to actionscript.....BUT I did not want to compare....how would i create the class you are mentioning.
I tried something similar but it would do nothing.


Thank you so much for the help
0
 
LVL 14

Expert Comment

by:TanLiHao
ID: 24878251
Like a_b said, you shouldn't be even using a switch statement to do this.

I personally think you should make cart an object, with properties itemNames and itemPrices in it.

However, your code seems to be working, so I don't get your problem.

You will need to give more details.
0
Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

 

Author Comment

by:jrb47
ID: 24878280
I would like to be able to do this without the switch...
Ideally what i would like to do is be able to read through the cart, print the array, give option to remove from cart, (have it leave the screen) and adjust the price of the cart.
I have it working with putting a cart.text command on each item.

You would be interested in looking at the fla file. I think you would see more of what i mean.

0
 
LVL 14

Expert Comment

by:TanLiHao
ID: 24878651
I don't see the .fla file.

Actually this is what I think you should do.

Let cart be the array of items.
cart.ItemName be an array of items'  names, such asLong Sleeved Blue Blouse
cart.ItemPrice be an array of items' prices.

Then your code can get rid of the swtich statement. See code snippet.

Then of course for the other two parts you should be more clear on what you want.

If you would attach a .fla file with comments specifically on what you want to do, then it would be easy.

for(var i = 0; i < cart.length; i++) {

        item = cart[i];

        cartText.text += cart.itemName + "\t\t\t\t$" + cart.ItemPrice[i] + "\n";

}

Open in new window

0
 

Author Comment

by:jrb47
ID: 24878729
you cant attach an fla file on this forum
I would have to send it directly to you
I did try that piece of code you listed but it did not work......not sure why

0
 
LVL 14

Accepted Solution

by:
TanLiHao earned 500 total points
ID: 24878771
It would work but there is a slight mistake with my code anyway.

It's cart.ItemName[i] not cart.ItemName.

Anyway to attach the .fla file, rename it to .txt extension and upload it here. Otherwise you can use upload elsewhere.
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

This is intended to introduce all collision detection principles in flash, their strengths, weaknesses and workarounds. The main method for Collision Detection in flash is using hitTestObject. But unless you'll be pushing rectangular shapes without …
There are times in your Flash CS4 application when you want more than a simple pointer or a hand, and it's hard to find an ideal walk-through to tell you what to do.  I spent a few days recently learning my way around making custom cursors in Flash,…
In this tutorial viewers will learn how to create a basic motion tween animation in Flash Open a new document in Flash: Draw/import an image: Press CTRL + F8 to convert it into a graphic symbol: Select a frame (how long you want the tween to last): …
The goal of the tutorial is to teach the user how to select which audio input to use. Once you have an audio input plugged into the laptop or computer, you will go into the audio input settings and choose which audio input you want to use.

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now