플래시로 마스크에서 물체를 드래그합니다
-
23-08-2019 - |
문제
플래시에 작은 작업이 있습니다. 약간의 어려움이 있습니다.
우선, 나는 2 개의 층이 있습니다. 첫 번째는 다양한 색상의 그라디언트이며, 그 위에는 두 번째 레이어이며, 이는 형상 트윈 (영화 클립)입니다. CS4를 사용하는 사람들에게는 클래식 트윈입니다. CS3 및 ActionScript 2를 사용하고 있습니다
나는 모두 Shape Tween을 준비했습니다. 매우 간단합니다. 그것은 shuriken으로 변하고 원으로 돌아갑니다.
문제는 마우스를 원 위로 움직일 때만 발생할 수 있도록 프로그래밍해야한다는 것입니다. 그리고 마우스를 원/슈리 켄에서 멀리 옮기면, 그 지역을 떠난 순간의 모양이 영원히 유지되어야합니다. 따라서 원에서 Shuriken까지의 반쯤이면 해당 지역에서 마우스를 제거하면 반쯤 형태로 남아 있어야합니다.
둘째, 모양을 드래그 할 수 있어야하며 드래그하는 동안 모양 트윈은 평소처럼 행동해야합니다. 그것을 풀면 "트윈 닝"을 멈추지 않고 마우스가 해당 지역이면 만 움직입니다. 그라디언트 배경은 끊임없이 변화하는 색상의 효과를 제공합니다.
나는 shape-twen "circle_mc"를 지명했습니다.
내가 구현할 수없는 것 :
1) 마우스 오버에 반응하는 모양
2) 모양을 드래그 할 수 있습니다.
누군가 나에게 힌트, 아마도 기사 나 예제를 줄 수 있습니까?
해결책
올바르게 따르면 모양 트윈이있는 "Circle_MC"클립 안에 다음 스크립트와 유사한 것을 배치 할 수 있어야합니다. 이를 통해 동일한 동작을 수행하는 클립의 여러 인스턴스를 만들 수 있습니다. 체크 아웃 할 테스트를 업로드했습니다. 그것이 당신이 의미하는 바가 아니라면 알려주세요. 그래픽의 기본 클래스로 사용할 외부 클래스를 만들고 코드를 거기에 넣을 수도 있습니다.
var hasRolledOver:Boolean = false;
this.onPress = function():Void
{
this.startDrag();
}
this.onRelease = function():Void
{
this.stopDrag();
}
this.onRollOver = function():Void
{
if (!hasRolledOver)
{
this.gotoAndPlay(2);
hasRolledOver = true;
}
}
this.onRollOut = function():Void
{
this.stop();
}