저는 캔버스를 사용하는 다트에서 기본 응용 프로그램을 작성하고 있습니다. 기본적으로 두 개의 사각형 중 하나가 화면의 오른쪽에서 왼쪽으로 이동하고 두 번째 이동은 사용자가 화살표 키를 선 택할 때 수행합니다.js로 컴파일해도 My Dart 프로젝트가 작동하지 않습니다. 그것은 다트 늄에서만 작동합니다
이제는 문제가 Dartium에서 시도해도 문제가 없습니다. 하지만 Chrome/Firefox에서 열려고하면 빈 사각형 만 보입니다.
다트 편집기는 자바 스크립트 코드로 컴파일 할 때 오류를 표시하지 않습니다.
하지만 크롬의 요소 검사의 콘솔로 볼 때 오류 메시지가 : 그 방법에 대한 호출
Uncaught TypeError: Object [object Window] has no method 'webkitRequestAnimationFrame$1'
현재 위치 : 여기
void main() {
var maincharacter = new Player(10,10, 70, 70, "red");
var secondCharacter = new Player(400,250, 50,50, "yellow");
player = maincharacter;
sprites = new Set();
randomnumbergenerator = new Random();
window.on.keyDown.add(myKeyDownEvent);
CanvasElement element = query("canvas");
context = element.context2d;
maincharacter.context = context;
secondCharacter.context = context;
maincharacter.type = 'player';
sprites.add(maincharacter);
sprites.add(secondCharacter);
window.webkitRequestAnimationFrame(animate);
}
그리고 :
void animate(num time){
enemyCreator(time);
context.clearRect(0,0,400,400);
for(final sprite in sprites){
if(!sprite.isPlayer()) {
sprite.move(5, 0);
// sprite.isOutside(0);
if(!(sprite.posx<0)){
query('#text').text = " Posx: ${sprite.posx.toString()} Length: ${sprites.length}";
sprite.draw();
} else {
query('#text').text = "Destroyed";
sprites.remove(sprite);
}
} else {
sprite.draw();
query('#text').text = " Time: $counter Length: ${sprites.length}";
}
}
window.webkitRequestAnimationFrame(animate);
}
이것은 예외를 throw하는 javascript 행입니다.
$.window().webkitRequestAnimationFrame$1($.animate)
아이디어가 있으십니까?
requestAnimationFrame을 호출하는 곳에서 다트 코드를 게시 할 수 있습니까? –