나는 간단한 aplication를 만들어왔다에 캔버스를 추가 할 때 응답하지 않습니다와 나는 문제 (이 일어나는 이유도) 내가 해결책을 찾을 수 없습니다프로그램은 내가를 enterFrame 기능
내가하고 싶은 일이있다 동적으로 단추를 포함하는 캔버스를 응용 프로그램에 추가 한 다음 캔버스를 화면의 왼쪽에서 오른쪽으로 옮기고 싶습니다.
그래서 나는 다음과 같은 코드<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.containers.Canvas;
import mx.controls.Button;
var ccanvas:Canvas = new Canvas();
var canvasButton:Button = new Button();
public function init():void{
canvasButton.label="canvas Button";
ccanvas.x=100;
ccanvas.y=200;
ccanvas.addChild(canvasButton);
addChild(ccanvas);
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
public function onEnterFrame(event:Event):void{
ccanvas.x+=1;
}
]]>
</mx:Script>
</mx:Application>
만들었습니다 그리고 그것은 잘 작동합니다. 다음 단계 대신 캔버스 나 맞춤 캔버스를 사용하여하다 .. 여기서 나는 결과이다
var ccanvas:Canvas = new Canvas()
to
var ccanvas:CustomCanvas = new CustomCanvas();
다음의 코드 라인을 변경 후 CustomCanvas.mxml 성분
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300">
<mx:Button label="ccccButton" />
</mx:Canvas>
인 화면에 표시되는 캔바스가 없습니다. 프로그램이 아무 것도하지 않습니다. ...
가장 이상한 것은 onEnterFrame 함수가 없으면 그냥 init에 사용자 정의 캔버스를 추가하는 것입니다.() 메소드는 제대로 표시됩니다. onEnterFrame을 가지고 있지만 customCanvas의 x 값을 변경하지 않아도 제대로 표시됩니다. 그러나 그 순간 나는 코드 ccanvas.x + = 1 아무 것도 표시 나던 프로그램 onEnterFunction
에 쓰기 ....하지만 난 원래 캔버스 객체 그렇게 할 경우 모든 확인 ,,,
입니다 여기서 무슨 일이 일어나고있는거야? 어떻게 캔버스 객체를 만들고 나서 onEnterFrame 메서드로 이동할 수 있습니까?
감사합니다 !!!!!!
는 사용자 정의 캔버스에 추가 된 창조 완전한 방법에 대한 권리이다 .. 그것은 작동! 이제 내 주 코드를 변경하는 방법을 알아 내야 만합니다. 메인 프로그램에서 onEnterFrame이 indepedently 캔버스에서 호출되어야합니다. 왜냐하면 다른 요소도 이동해야하기 때문이며 또한 사용자 정의 캔버스가 프로그램이 임의의 시간에 시작된 후 어떤 지점. 그리고 더는 내가 정의 캔버스하지만 중 하나 개 객체를 생성 그나마 그들이 화면을 통해 갈 때 난 그냥 AS3에 충실 ... 잘 coclusion "MXML 나쁜 문자를 가진 아름 다운 여자 같다".... 제거 :) – Pitelk
도움이되는 답변을 주셔서 감사합니다. – Pitelk
+1하지만 다시, 차이점은 무엇입니까? – Amarghosh