AS3 동적으로 생성 된 객체를 회전시킵니다
-
20-08-2019 - |
문제
오디오 파일을 이퀄라이저로 재생 해야하는 사이트를 작성하고 있습니다. 나는 아직 AS3에 대해 많이 알지 못하므로 이것은 간단한 질문 일 수 있습니다.
사용하고 싶은 예를 찾았습니다. 여기에 시연되었습니다 그리고 여기 소스 파일
이퀄라이저 개체를 단계에 추가하는 코드 (자습서에서)
package {
import flash.media.*;
import flash.net.*;
import flash.display.*;
import flash.events.*;
import com.everydayflash.equalizer.*;
import com.everydayflash.equalizer.color.*;
public class Main extends Sprite{
public function Main() {
var s:Sound = new Sound(new URLRequest("track.mp3"));
s.play(0, 100, new SoundTransform(1, 0));
var es:EqualizerSettings = new EqualizerSettings();
es.numOfBars = 32;
es.height = 64;
es.barSize = 2;
es.vgrid = true;
es.hgrid = 2;
es.colorManager = new SolidBarColor(0xffff4444);
es.effect = EqualizerSettings.FX_REFLECTION;
var e:Equalizer = new Equalizer();
e.update(es);
e.x = 100;
e.y = 100;
addChild(e);
addEventListener(Event.ENTER_FRAME, e.render);
}
}
}
이것은 꽤 좋은 효과를 가진 수직 지향 이퀄라이저를 만듭니다.
그러나 나는 그것이 수평이되기를 원하므로 "E"를 90도 회전시켜야한다고 생각합니다. 이 작업을 수행하는 방법을 아는 사람이 있습니까? 아니면 방향이 그것을 생성하는 액션 스크립트에 의해 독점적으로 지시됩니까?
도움을 주셔서 감사합니다.
해결책
줄 바로 아래 :
e.x = 100;
e.y = 100;
추가 시도 :
e.rotation = 90;
나는 그것이 효과가 있다고 생각하지만, 당신은 피벗 포인트의 위치와 관련하여 몇 가지 문제가 발생할 수 있습니다 (중앙 주변에서 90도 또는 왼쪽 상단 주위에서 회전하려는 경우).
다른 팁
명심해야 할 또 다른 것은입니다 displayObject.Transform.matrix (Sprite는 DisplayObject를 간접적으로 확장). 당신이 사용할 수있는 매트릭스 변환 필요한 경우 훨씬 더 복잡한 번역/회전/스케일링을 수행합니다.
제휴하지 않습니다 StackOverflow