---
title: "Wait eller Sleep i FLASH?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/flash/114125-wait-eller-sleep-i-flash"
topic: "Flash"
topic_url: "https://www.webforum.nu/amne/flash"
author: "ebbechi"
published: "2004-10-22T00:19:31.000Z"
updated: "2004-10-22T21:42:05.000Z"
replies: 3
views: 241
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/114125-wait-eller-sleep-i-flash"
---

# Wait eller Sleep i FLASH?

## #1 — ebbechi, 2004-10-22T00:19Z

Jag har gjort en liten FLASH applikation där användaren matar in en text, FLASH utvärderar texten och skriver ut ett svar i en Textfield.

Så långt fungerar programmet perfekt, men jag vill få till effekten att ett ord eller ev en bokstav i taget dyker upp i textfield:en. Som det är nu dyker bara en stor blobba text upp och det går för snabbt för användaren att hänga med.

Jag har anvnänt split för att dela upp meningen som ska skrivas upp i en Array, sedan skrivs arrayen ut element för element med ett blanksteg emellan, problemet är nu att detta går också väldigt snabbt. Jag skulle vilja lägga till en fördröjning på någon sekund, eller kanske millisekunder, i for-loopen som skriver ut texten, för att som nämnt ovan skapa effekten av att texten dyker upp gradvis.

Hur orsakar man en fördröjning? Jag kan varken hitta sleep eller wait i Actionscripts funktioner.

Koden nedan är den som skriver ut texten:

        **//answers är en array med meningar** 
        **//orden i answers sparas i en array som heter speak**  
	
                speak = answers\[y\].split(" ");
				
	for(z = 0; z \< speak.length;z++){

	    response += speak\[z\] + " ";

                    **// här vill jag ha in pausen**  

				}

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

## #2 — mirandir, 2004-10-22T19:08Z

Anledningen till att det går så snabbt är att flash endast updaterar grafiken sedan den kört allt skript klart. Och därmed kör den igenom for/while/do..while loopar utan att updatera grafiken... Vad du behöver göra är att använda t.ex. onEnterFrame eller en setInterval().

```
speak = answers[y].split(" ");

timer = setInterval(addLetter, 500);

function addLetter()
{
    response += speak.shift() + " "
    if(!speak.length)
         clearInterval(timer);
}
```

/Mirandir

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

## #3 — ebbechi, 2004-10-22T21:12Z

Funkar inte med min kod :-(

Tack för svaret,
Jag är lessen, jag är lite seg, skulle du kunna posta en lösning som bibehåller min for-loop?

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

## #4 — ebbechi, 2004-10-22T21:42Z

Glöm det

Jag fixade det, jag var tvungen att kasta om allting lite bara, i din kod så "försvinner" ju array:en steg för steg.

I min kod tänkte jag att man bara skulle loopa igenom array:en och skriva ut allting.

Men nu är det fixat och jag tackar och \*bockar\*

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

---

Tråden på webben: https://www.webforum.nu/amne/flash/114125-wait-eller-sleep-i-flash
