---
title: "Accelerera"
type: "forum-thread"
url: "https://www.webforum.nu/amne/flash/101131-accelerera"
topic: "Flash"
topic_url: "https://www.webforum.nu/amne/flash"
author: "martyn"
published: "2004-04-07T16:26:40.000Z"
updated: "2004-04-13T13:30:51.000Z"
replies: 6
views: 1042
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/101131-accelerera"
---

# Accelerera

## #1 — martyn, 2004-04-07T16:26Z

Har försökt att få en acceleration av ett objekt till tvärstopp, men hur jag än försöker så accelererar från den x position jag vill att den ska stanna på

Något liknade som detta är vad jag söker fast tvärt om.
this.\_x += (100-this.\_x)/5

//Martyn

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

## #2 — Peppo, 2004-04-07T17:58Z

Jag vet inte om det här hjälper dig men kolla länken för där finns mästaren på sånt. Finns helt grymma ekvationer för easing åt alla möjliga håll och kanter  :) 

<http://www.robertpenner.com/easing/>

Kolla demot för att testa och hitta rätt ekvation.

Om du vill så kanske jag kan slänga ihop ett expempel sen?

Lycka till!  :bire

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

## #3 — martyn, 2004-04-08T07:21Z

Grymmt, men lite hjälp skulle inte skada. En easingQuad är nog vad jag söker?

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

## #4 — Peppo, 2004-04-08T11:28Z

Jag ska försöka hinna göra ett exempel sen ikväll så skickar jag upp det då  :) 
Vilken version av flash använder du föressten? Jag har bara flash mx 2004 så det blir actionscript 2.0

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

## #5 — martyn, 2004-04-11T20:25Z

Jag kör 5:an än så länge, det behöver bara va något liknade scriptet i det första inlägget, så man kan lägga det på objekt m.m.

//Martin

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

## #6 — Roing, 2004-04-13T10:33Z

this.\_x += (100/(101-this.\_x))/5

men det behövs if sats så att this.\_x aldrig blir 101 för då blir det delat med 0 och det funkar inte så bra.
Men annars ger formel famma steg som ditt exempel men åt andra hållet. 
1/5 när this.\_x=1
100/5 när this.\_x=100

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

## #7 — Peppo, 2004-04-13T13:30Z

Bättre sent än aldrig som man brukar säga. :r 
Roings exempel funkar nog bäst för dig men jag lägger in koden som jag gjort så kanske du eller nån annan får användning för den en vacker dag.

**Actionscript 2.0:**

```
moveObj("mc_ball",25,0,200)
function moveObj(objName, duration, start, end){
	var t = 0;
	this.onEnterFrame = function(){
		t++;
		if(t <= duration){
			this[objName]._x = _root.easeInOutQuad(t, start, end, duration);
		}else{
			delete this.onEnterFrame;
		}
	}
}

// t: current time, b: beginning value, c: change in value, d: duration
// Use:
// var start = 0;
// var end = 260;
// var duration = 10;
// var t = 0;
// t++;
// if (t <= duration) trace(easeInOutQuad(t, start, end, duration));
// or
// this._y = easeInOutQuad(t, start, end, duration)

// quadratic easing in/out - acceleration until halfway, then deceleration
function easeInOutQuad (t, b, c, d) {
	if ((t/=d/2) < 1) return c/2*t*t + b;
	return -c/2 * ((--t)*(t-2) - 1) + b;
}
// quadratic easing in - deceleration
function easeInQuad (t, b, c, d) {
	return c*(t/=d)*t + b;
}
// quadratic easing out - acceleration
function easeOutQuad (t, b, c, d) {
	return -c *(t/=d)*(t-2) + b;
}
```

Vet om om detta sättet är det mest optimala med det funkar iaf.

Ändra **easeInOutQuad** i koden till någon av dom andra t.ex easeInQuad beroende på vilken resultat du vill få fram. På <http://www.robertpenner.com/easing/> så finns det ju miljaxer olika, så det är bara att välja och vraka. Vill du att den ska rör sig från höger till vänster istället för tvärtom så skriver du bara moveObj("mc_ball",25,0,**\-200**)

Bifogar en fla-fil också gjord i Flash MX 2004 som det bara är att köra.

Hoppas jag inte bryter mot någon slags copyright nu när jag har använt Robert Penners ekvationer. Isåfall så ber jag om ursäkt och meddela mig så ska jag ta bort den här posten.

Bilagor:

- [easing.zip](https://www.webforum.nu/a/3257.zip)

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

---

Tråden på webben: https://www.webforum.nu/amne/flash/101131-accelerera
