---
title: "Varför fungerar inte detta?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/flash/157251-varför-fungerar-inte-detta"
topic: "Flash"
topic_url: "https://www.webforum.nu/amne/flash"
author: "saturday"
published: "2007-02-15T15:41:03.000Z"
updated: "2007-02-15T19:49:27.000Z"
replies: 9
views: 426
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/flash/157251-varför-fungerar-inte-detta"
---

# Varför fungerar inte detta?

## #1 — saturday, 2007-02-15T15:41Z

Börjar bli stammis i detta forum nu.

```
_global.myLevel = "2"
var localLevel = "_level"+_global.myLevel
localLevel.contact.gotoAndPlay(2);
```

Om jag skriver ut variabeln localLevel i ett textfält säger den "\_level2". Men men det fungerar inte.

Om jag byter "localLevel.contact.gotoAndPlay(2);" till "\_level2.contact.gotoAndPlay(2);" fungerar det, men jag vill styra leveln dynamiskt via en variabel.

Jag förmodar att det beror på att localLevel är i formatet *string*. Men jag vet inte vad exempelvis "\_level4" är i för format?

Vad och hur formaterar jag localVariabel till rätt format för att Flash ska förstå?

Permalänk: https://www.webforum.nu/p/157251

## #2 — andyoumaydie, 2007-02-15T16:05Z

Har du provat:

```
[locallevel].contact.gotoAndPlay(2);
```

eller:

```
["_level"+_global.myLevel].contact.gotoAndPlay(2);
```

Permalänk: https://www.webforum.nu/p/1935284

## #3 — saturday, 2007-02-15T16:16Z

Prövade med:

```
_global.myLevel = "2"
var localLevel = "_level"+_global.myLevel
[localLevel].contact.gotoAndPlay(2);
```

Det fungerade inte och textfönstret skriver ut "levelundefined".

Om jag kör med...

```
_global.myLevel = "2"
["_level"+_global.myLevel].contact.gotoAndPlay(2);
```

Fungerade det inte heller men inget skrivs ut i textfönstret, konstigt nog då resultatet borde bli precis det samma.

Permalänk: https://www.webforum.nu/p/1935285

## #4 — Blixtsystems, 2007-02-15T16:24Z

Level är ett objekt men du kan inte börja en referens med en dynamisk varibel.
Däremot går det bra att köra t.ex:

```
var lvl_num:Number = 2;
var localLevel:Object = "_level"+lvl;
_level0[localLevel].contact.gotoAndPlay(2);
```

Det blir alltså "\_level0.\_level2.contact" som är referensen och eftersom "\_level2" är liksom allt annat ett objekt som ligger i \_level0's scope så är det inga problem.

Permalänk: https://www.webforum.nu/p/1935288

## #5 — andyoumaydie, 2007-02-15T16:40Z

Det var inget jag tänkt på, men kan vara bra att ha vetskap om i framtiden.
Tackar.

Permalänk: https://www.webforum.nu/p/1935296

## #6 — saturday, 2007-02-15T16:53Z

Scriptet ovan fungerar inte heller.

Får följande output när jag exporterar filen:

*\*\*Error\*\* Symbol=Symbol 6, layer=Layer 1, frame=1:Line 11: Expected a field name after '.' operator.
     	\_level0.\[localLevel\].contact.gotoAndPlay(2);

\*\*Error\*\* Symbol=Symbol 6, layer=Layer 1, frame=1:Line 12: Statement must appear within on handler
     	gotoAndStop(2);

\*\*Error\*\* Symbol=Symbol 6, layer=Layer 1, frame=1:Line 13: Unexpected '}' encountered
     }*

Koden ser exakt ut så här...

```
on (release){
	var lvl_num:Number = 2;
	var localLevel:Object = "_level"+lvl;
	_level0.[localLevel].contact.gotoAndPlay(2);
}
```

Och dessutom ser jag inte hur min globala variabel kommer in.

Permalänk: https://www.webforum.nu/p/1935300

## #7 — Blixtsystems, 2007-02-15T17:04Z

Ooops...kom med en punkt för mycket.

Med din globala variabel skall det vara:

```
_global.myLevel = "2"
var localLevel:Object = "_level"+_global.myLevel
_level0[localLevel].contact.gotoAndPlay(2);
```

Permalänk: https://www.webforum.nu/p/1935301

## #8 — andyoumaydie, 2007-02-15T17:10Z

du har en punkt för mycket mellan \_level0 och \[localLevel\] och så har du inte skrivit hela variabelnamnet lvl_num

```
var lvl_num:Number = 2;
var localLevel:Object = "_level"+lvl_num;
_level0[localLevel].contact.gotoAndPlay(2);
```

så ska det vara.

Din globala variabel är inte med i den kodsnutten, då får du ju t ex ändra:

```
var lvl_num:Number = 2;
```

till:

```
var lvl_num:Number = _global.myLevel;
```

/red det tog tydligen mig över 6 minuter att skriva detta meddelande så blixten hann före.   :r

Permalänk: https://www.webforum.nu/p/1935303

## #9 — saturday, 2007-02-15T17:21Z

Båda senaste inläggen får textfältet att skriva ut "\_level2" och outputen klagar inte men "\_level0\[localLevel\].contact.gotoAndPlay(2);" fungerar fortfarande inte. Flash verkar fortfarande inte förstå vad localLevel eller lvl_num är.

/red Måste haft något annat fel för nu fungerade det plötsligt.

Tack för hjälpen! Grymt. :)

Permalänk: https://www.webforum.nu/p/1935305

## #10 — andyoumaydie, 2007-02-15T19:49Z

Visst är det en härlig känsla när det fungerar.  :)

Permalänk: https://www.webforum.nu/p/1935333

---

Tråden på webben: https://www.webforum.nu/amne/flash/157251-varför-fungerar-inte-detta
