문제를 생성하고 문제를 인식하는 데 6 개월 간의 간격이 있기 때문에 심각한 문제가 있습니다. 위로 연말에, 나는 몇몇 그래픽스를 추가하고 플래시 전용 웹 사이트에서 일부 텍스트를 변경하라는 요청을 받았습니다. 이 사이트는 꽤 복잡했고 처음부터 그러한 코드를 만들지는 않았지만 플래시에 대한 사전 경험이 있었고 그래픽을 추가하고 내부 텍스트의 일부를 업데이트 할 수있었습니다. 그래픽을 추가하는 과정에서 새로운 요소를 포함하여 모든 요소가 포함 된 main_mc를 확장해야했습니다. 당시에는 알지 못했지만 이제는 main_mc 심볼의 속성을 변경하면 별도의 Main.ac 파일에서 생성 된 복잡한 Tweening 액션이 비활성화 된 것으로 보입니다. Main.ac 파일을 건드리지 않았고 main_mc 및 새 그래픽이 포함 된 해당 FLA 파일에 코드를 변경하지 않았지만 어떻게 든이 변경 사항은 트위스트에 주름을 넣었습니다. Main.swf의 이전 버전을 내 개발 환경에 적용하면 액션이 다시 작동합니다 (자식 SWF 파일에 의해 트리거되는 경우에도). 여기 플래시 AS3 : 메인 무비 클립을 확대하고 새 요소를 추가 한 후 TweenMax가 작동을 멈췄습니다.
내가이에 묶여 생각 클래스 파일의 코드 : 자신과 클라이언트에 대한 일부 공공 당황의 위험에public function showSamples(event:Event = null):void
{
// create new timeline to allow us to move the desk elements back into place
showSamplesTimeline = new TimelineMax({onReverseComplete: resetSamples});
// create array of all desk elements
var deskElements:Array = /* of TweenMax */ [
TweenMax.to(main_mc.memorandum_mc, 1, {x: main_mc.memorandum_mc.x - 1700}),
TweenMax.to(main_mc.phone_mc, 1, {x: main_mc.phone_mc.x - 1700}),
TweenMax.to(main_mc.todo_mc, 1, {x: main_mc.todo_mc.x - 1900}),
TweenMax.to(main_mc.menuMask_mc, 1, {x: main_mc.menuMask_mc.x - 1700}),
TweenMax.to(main_mc.menu_mc, 1, {x: main_mc.menu_mc.x - 1700}),
TweenMax.to(main_mc.flags_mc, 1, {x: main_mc.flags_mc.x - 1700}),
TweenMax.to(main_mc.clocks_mc, 1, {x: main_mc.clocks_mc.x - 1700}),
TweenMax.to(main_mc.device_mc, 1, {x: main_mc.device_mc.x - 1700}),
TweenMax.to(main_mc.content_mc, 1, {x: main_mc.content_mc.x - 1700}),
TweenMax.to(main_mc.coffeeContainer_mc, 1, {x: main_mc.coffeeContainer_mc.x - 1700})
];
main_mc.printer_mc.translate_btn.mouseEnabled = false;
/*
var memorandumTween:TweenMax = ;
var memorandum_mc,
var phone_mc,
var todo_mc,
var menuMask_mc,
var menu_mc,
var flags_mc,
var clocks_mc,
main_mc.device_mc,
main_mc.content_mc,
main_mc.coffeeContainer_mc
*/
// tween all desk elements out out of the state somewhere...
showSamplesTimeline.insertMultiple(deskElements);
//showSamplesTimeline.insertMultiple(TweenMax.allTo(deskElements, 1, {x:-400}));
// bring in the printer element for printn' out samples... arrgh!
showSamplesTimeline.insert(TweenMax.fromTo(main_mc.printer_mc, 0.5, {x: 2000, y: -140},{x: 800, y: -140.0, delay: 0.25}));
showSamplesTimeline.append(TweenMax.to(main_mc.printer_mc, 0.5, {y: -340.0, delay: 0.25, onComplete: showGermanSample}));
}
/**
*
*/
public function showGermanSample():void
{
// create short reference to the loader content
var container = main_mc.printer_mc.paper_mc.getChildAt(0).contentLoaderInfo.content;
// move the scroller out of view
container.scroller.x = 2000;
// hide the english translation
container.germanContentDropShadow_mc.visible = false;
container.englishContentDropShadow_mc.visible = false;
container.content_mc.englishContent_mc.visible = false;
// tween the paper into view and when complete put the scroller next to the german sample
TweenMax.to(main_mc.printer_mc.paper_mc, 1, {
y: 443,
onComplete: function():void
{
container.scroller.x = 599;
container.germanContentDropShadow_mc.visible = true;
main_mc.printer_mc.translate_btn.mouseEnabled = true;
}
});
}
/**
*
*/
public function showEnglishSample(event:Event = null):void
{
// create short reference to the loader content
var container = main_mc.printer_mc.paper_mc.getChildAt(0).contentLoaderInfo.content;
// move the scroller out of view
container.scroller.x = 2000;
// move the paper to make room for the english content
TweenMax.to(main_mc.printer_mc.paper_mc, 0.5, {x: -454});
// show the english sample
container.content_mc.englishContent_mc.visible = true;
// tween the english sample into view and when complete put the scoller next to the english sample
TweenMax.from(container.content_mc.englishContent_mc, 1, {
y: -1000,
delay: 0.5,
onComplete: function():void
{
container.scroller.x = 1210;
container.englishContentDropShadow_mc.visible = true;
main_mc.printer_mc.translate_btn.mouseEnabled = false;
}
});
// tween the paper
TweenMax.to(main_mc.printer_mc.paper_mc, 0.5, {x: -142, delay: 1.5});
}
/**
*
*/
public function hideSamples(event:Event = null):void
{
// back to the future
showSamplesTimeline.reverse();
}
/**
*
*/
public function resetSamples(event:Event = null):void {
// unload sampleContentLoader
sampleContentLoader.unload();
// reset position
main_mc.printer_mc.paper_mc.x = 164;
main_mc.printer_mc.paper_mc.y = -600;
trace(main_mc.printer_mc.x);
trace(main_mc.printer_mc.y);
// remove loader content
main_mc.printer_mc.paper_mc.removeChildAt(0);
// kill tweens
showSamplesTimeline.kill();
}
,하지만 난 정말 도움을 사용할 수 있기 때문에 라이브 웹 사이트는 다음과 같습니다. (제거됨)
서비스 -> 샘플로 이동하십시오. 버튼을 클릭 할 수 있습니다 (예 : 법률에 따라 샘플 주제로 드릴 다운합니다. 이전 작업 버전에서는 마지막 주제를 클릭합니다. 소송 및 화면이 무대 오른쪽으로 움직여서 영어로 된 문서 이미지가 프린터에서 나오는 것처럼 보입니다. 그런 다음 사용자가 번역 버튼을 누르면 독일어로 된 두 번째 이미지가 나옵니다. 다시 선택을 클릭하면 무대 왼쪽으로 돌아와 기본 화면으로 돌아갑니다. 물론 이것은 작동하지 않습니다. (제거)
아마 하루 정도에 dev에 복사본을 제거합니다 :
내가 dev에 위치에서 작업 버전 업을 넣었습니다.
정말이 문제를 해결하는 데 도움이됩니다.
[편집] 이전 main_mc가 2359x1692이고 새 것이 2967.65x1939.35라고 추가해야합니다. 무대 위의 위치는 똑같습니다 : -800 x 0. 새로운 치수가 6 개월 전과 같이 어떻게 도착했는지 정확히 모르겠지만 추가 그래픽 요소를 맞추려면 확대가 필요합니다. 클라이언트는 와이드 스크린 모니터에서보기 좋게 원래 개발자의 넓은 영역을 필요로했습니다.
감사합니다.
확인. 내가 고쳐 준다고 생각해. 내가 추가 한 그래픽 요소 중 하나가 다른 그래픽 요소를 대체했습니다. 대체는 비트 맵 이었지만 원래는 심볼이었고 위의 트윈 배열의 일부였습니다 - memorandum_mc. 나는 이것을 알아 차리고 비트 맵을 같은 이름의 심볼로 바꿨다. 이제 애니메이션이 작동하고있다. 나는 누락 된 상징이 모든 것을 던졌다 고 생각한다. Flash가 나에게 실제 오류 메시지를 보내면 좋았을 것입니다. "Error : missing symbolold 'memorandum_mc',"또는 뭔가와 같은 것이 있으면 쉽게 해결할 수있었습니다. – mrmacross