---
title: "rotateTo();"
type: "forum-thread"
url: "https://www.webforum.nu/amne/flash/144645-rotateto"
topic: "Flash"
topic_url: "https://www.webforum.nu/amne/flash"
author: "xhlin"
published: "2006-03-27T18:15:40.000Z"
updated: "2006-03-28T10:23:42.000Z"
replies: 6
views: 480
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/144645-rotateto"
---

# rotateTo();

## #1 — xhlin, 2006-03-27T18:15Z

Hallå där ! 
har en function rotateTo :

MovieClip.prototype.rotateTo=function(r,speed){
	this.createEmptyMovieClip("rotater",this.getNextHighestDepth());
	this.rotater.onEnterFrame=function(){
		this.\_parent.\_rotation+=(r-this.\_parent.\_rotation)/speed;
		var diffr=this.\_parent.\_rotation-r;
		if((diffr\*diffr)\<10){
			this.\_parent.\_rotation=r;
			delete this.onEnterFrame;
			
		}
	}
};

om jag vill rotera ett movieClip över 180 grader får funktionen fnatt och börjar loopa en rotation, 
någon som vet hur man fixar det ?

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

## #2 — Blixtsystems, 2006-03-27T18:57Z

Ett clips position anges mellan -180 och 180 därför blir det lite tokigt då du jämför diffr värdet.
Detta borde funka:

```
MovieClip.prototype.rotateTo = function(r, speed) {
	this.onEnterFrame = function() {
		this._rotation -= r/speed;
		var diffr = ((this._rotation+360)%360)-r;
		if ((diffr*diffr)<10) {
			this._rotation = r;
			delete this.onEnterFrame;
		}
	};
};
```

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

## #3 — xhlin, 2006-03-27T21:21Z

det funkar bättre nu men förstår mig ändå inte riktigt på den ,
skiver jag in att ett mC skall rotera 300 grader med en hast. av 10 snurrar mC:t ett par varv...ökar jag hastigheten snurrar det ännu fler varv?

mvh

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

## #4 — Blixtsystems, 2006-03-27T22:01Z

Den fungerade inget vidare märkte jag då jag testade.
Men det här fungerar:

```
MovieClip.prototype.rotateTo = function(r, speed) {
	this.rAcc=r;
	this.onEnterFrame = function() {
		this.rAcc-=speed;
		this._rotation -= speed;
		if (this.rAcc<=speed) {
			this._rotation = r;
			delete this.onEnterFrame;
		}
	};
};
```

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

## #5 — xhlin, 2006-03-27T22:45Z

Nu funkar det ännu bättre, men den är fortfarande lite skum
vid vissa värden försvinner speed och mC:t bara 'hoppar' till den angivna graden ?

mvh

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

## #6 — Blixtsystems, 2006-03-27T23:04Z

Ja...den blev visst lite förvirrad på lägre värden om man skall rotera moturs.

```
MovieClip.prototype.rotateTo = function(r, speed) {
	this.rAcc=r;
	speed = r<0 ? -speed : speed;
	this.onEnterFrame = function() {
		this.rAcc-=speed;
		this._rotation += speed;
		if ((this.rAcc>=speed && r<0) || (this.rAcc<=speed && r>0)) {
			this._rotation = r;
			delete this.onEnterFrame;
		}
	};
};
```

Den skall fungera i båda riktningar.
För att rotera moturs anger du ett negativt rotations värde...tex: 
mc.rotateTo(-180, 3);

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

## #7 — xhlin, 2006-03-28T10:23Z

du är en klippa!

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

---

Tråden på webben: https://www.webforum.nu/amne/flash/144645-rotateto
