Bir yıl boyunca deneme-yanılma yoluyla deneme ve deneme yaptıktan sonra, JavaScript'i biraz daha anlamaya başladığımı hissediyorum. Şimdi, elimde basit bir 2D platform oyunu yazarken elimi denemek istiyorum (Super Mario World veya Sonic the Hedgehog'u düşünün). Bunun için EaselJS kütüphanesini kullanacağım.HTML5 Tuval: EaselJS'de ok tuşlarıyla dünyayı gezme/kaydırma
Sol ve sağ ok tuşlarını kullanarak bir tuvalin içindeki 'dünyayı' nasıl taşıyabileceğimi/kaydırılabileceğimi bulmaya çalışıyorum. Ok tuşunun keydown
üzerine nasıl çalışabileceğimi biliyorum, ancak hareketli/kaydırmaya nasıl yaklaşacağım konusunda emin değilim. Bir tuşa basıldığında
Ben tuval içinde her şeyin konumu/koordinatlarını ayarlamak gerekir? Veya belki de her şeyi bir konteynere koymalı ve kabın konumunu/koordinatlarını taşımalı mıyım?
Beni doğru yöne çeviren her şeyi takdir edeceğim. Tyvm :)
cevap The chosen answer below ile güncellendi Ben gerçekten bunu kabın konumunu ayarlayabilirsiniz böylece container her şeyi koymak zorunda olduğunu doğruladı. Bu benim çizdiğim kod ve işe yarıyor.
// Canvas
var stage = new createjs.Stage('game');
createjs.Ticker.addEventListener('tick', tick);
function tick(event) {
stage.update();
}
// Cave
var cave = new createjs.Bitmap('img/cave.png');
cave.x = cave.y = 0;
// World
// Pans World if the left or right arrow keys are pressed
var world = new createjs.Container();
world.x = 0;
world.y = 0;
world.addChild(cave);
stage.addChild(world);
$(window).keydown(function(e){
switch (e.which || e.keyCode){
case 39: // right arrow key
world.regX += 10;
break;
case 37: // left arrow key
world.regX -= 10;
break;
}
});
Ben
world.regX
yanı sıra
world.x
güncellemeye çalıştık. Her nasılsa,
world.regX
daha yumuşak görünüyor.
Şimdi çok aptalım, ama scrollableObjectContainer nedir? Bunu EaselJS API'sinde veya Google’da bulamadım. – AKG
Sadece bir kap, onu böyle adlandırdım. – rpg600
Ara doldurmayı eklemek için nasıl gidebilirim? Createjs.Tween.get (world) .to ({regX: world.regX + 10}, 100) 'in farklı varyasyonlarını deniyorum; ama anlaşılır bir şekilde, bu laggy olmak zorunda. Çünkü tipik bir keydown tek bir vuruş yerine birden çok saniye) – AKG