Saya telah memeriksa dokumen dan sampel hanya untuk hilang di dokumen yang sudah ketinggalan zaman. Rupanya tidak ada sampel untuk createjs versi terbaru.

Saya perlu menggulirkan spritesheet horizontal dengan mulus. Sehingga bagian tengah gambar ditampilkan sebelum gambar baru seluruhnya berada di "jendela". Jadi tempat di halaman tidak bergerak hanya yang ditampilkan dari spritesheet horizontal satu kolom saja yang berbeda. Dan kami tidak beralih di antara gambar yang kami gulir ke atas dan ke bawah.

Saya kehabisan akal dengan ini.

 this.sprite = new createjs.BitmapAnimation(spriteSheet); 

Baris itu memberikan kesalahan

bukan konstruktor

 this.sprite = createjs.BitmapAnimation(spriteSheet);

Memberikan kesalahan

bukan fungsi

Ini sprite sheetnya

https://github.com/nydehi/asp.net-mvc-example-invoicing-app/blob/master/screenshots/1.png

Saya melakukan ini sekarang dan tidak ada kesalahan tetapi tidak ada yang ditampilkan.

<script type="text/javascript" src="createjs-2014.12.12.min.js"></script>
<script>
  function init() {
  var data = {
        images: ["1.png"],
        frames: {width:15, height:20},
        animations: {
            stand:0,
            run:[1,5],
            jump:[6,8,"run"]
        }
    };
    var spriteSheet = new createjs.SpriteSheet(data);
    var animation = new createjs.Sprite(spriteSheet, "run");
   var stage = new createjs.Stage("demoCanvas");
 stage.addChild(animation);
        animation.gotoAndPlay("run");   //walking from left to right
stage.update();
  }
</script>
0
Joe 17 Agustus 2017, 03:39

2 jawaban

Jawaban Terbaik

Anda mungkin menggunakan versi CreateJS yang lebih baru (sekitar versi 0.8.2) yang tidak lagi memiliki kelas BitmapAnimation di dalamnya.

Versi lama (0.6.0) memilikinya, tetapi kemungkinan besar digantikan oleh kelas SpriteSheet.

Periksa di sini untuk dokumentasi terbaru.

1
Soviut 17 Agustus 2017, 02:00

Komentar sebelumnya tentang BitmapAnimation yang sudah lama ditinggalkan adalah benar. Sampel kode Anda yang diperbarui terlihat baik-baik saja.

Saya pikir Anda hanya melewatkan sesuatu untuk memperbarui panggung ketika konten berubah. Sampel Anda hanya memiliki satu pembaruan, tetapi karena gambar Anda dimuat menggunakan jalur string, itu belum siap saat Anda memanggil stage.update().

Setiap kali konten berubah, Anda perlu memberi tahu panggung untuk menyegarkan. Biasanya, ini dikontrol secara manual saat konten berubah, atau terus-menerus menggunakan Ticker.

createjs.Ticker.on("tick", function(event) { 
    // Other updates

    // Update the stage
    stage.update(event); 
});

// Or a handy shortcut if you don't need to do anything else on tick:
createjs.Ticker.on("tick", stage);
1
Lanny 17 Agustus 2017, 15:20