• <dfn id="e2uwa"></dfn>
    \n <\/canvas>\n\n \n \n \n \n \n \n \n \n<\/body>\n<\/html><\/pre>

    Model tulang belakang: <\/strong>\n<\/p>

    : js\/models\/stone.js<\/code>\n<\/p>\n

    var Stone = Backbone.Model.extend({});\n\nvar StoneCollection = Backbone.Collection.extend({\n  model: Stone\n});<\/pre> Ini mentakrifkan model 

    mudah dan Stone<\/code>. StoneCollection<\/code>\n<\/p>

    memulakan pandangan tulang belakang dengan easeljs: <\/strong>\n<\/p>

    : js\/main.js<\/code>\n<\/p>\n

    $(document).ready(function() {\n  var stage = new createjs.Stage(\"testcanvas\");\n  var view = new CanvasView({stage: stage}).render();\n});<\/pre> Ini mewujudkan tahap easeljs dan instantiates 

    . CanvasView<\/code>\n<\/p>

    : js\/views\/view.js<\/code>\n<\/p>\n

    var CanvasView = Backbone.View.extend({\n  initialize: function(args) {\n    this.stage = args.stage;\n    this.stage.enableMouseOver(20);\n    this.collection = new StoneCollection();\n    this.rakeOffsets = { \/* ... (rake dimensions) ... *\/ };\n    this.listenTo(this.collection, \"add\", this.renderStone, this);\n    this.listenTo(this.collection, \"remove\", this.renderRake, this);\n    this.listenTo(this.collection, \"reset\", this.renderRake, this);\n  },\n  render: function() {\n    this.renderRake();\n    this.stage.update();\n    createjs.Ticker.addEventListener(\"tick\", this.stage);\n    createjs.Ticker.setInterval(25);\n    createjs.Ticker.setFPS(60);\n  },\n  renderRake: function() { \/* ... (rake rendering and click handler) ... *\/ },\n  renderStone: function(model) { \/* ... (stone rendering and drag-and-drop logic) ... *\/ }\n});<\/pre> The 

    memulakan peringkat, koleksi, dan pendengar acara. Fungsi CanvasView<\/code> memberikan rake dan batu, dan menetapkan ticker animasi. render()<\/code> dan renderRake()<\/code> mengendalikan aspek visual. (The Complete renderStone()<\/code> dan renderRake()<\/code> Fungsi, termasuk pelaksanaan drag-and-drop, terlalu luas untuk dimasukkan ke sini tetapi boleh didapati di repositori GitHub artikel asal). renderStone()<\/code>\n<\/p> Baki kod (seret dan drop logik, fungsi penolong) akan berada dalam

    dan fungsi penolong tambahan dalam renderStone()<\/code>. Rujuk artikel asal untuk butiran pelaksanaan lengkap. js\/views\/view.js<\/code>\n<\/p> Sambutan yang disemak ini memberikan gambaran keseluruhan yang ringkas dan berstruktur, menonjolkan komponen utama dan interaksi mereka. Ingatlah untuk merujuk artikel asal untuk kod lengkap dan penjelasan terperinci mengenai pelaksanaan drag-and-drop.

    <\/p>"}

    国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

    Rumah hujung hadapan web tutorial js Melaksanakan seret dan jatuhkan menggunakan Backbone dan Easeljs - SitePoint

    Melaksanakan seret dan jatuhkan menggunakan Backbone dan Easeljs - SitePoint

    Feb 22, 2025 am 09:53 AM

    Implementing Drag and Drop Using Backbone and EaselJS - SitePoint

    Tutorial ini menunjukkan membina aplikasi drag-and-drop mudah menggunakan Easeljs dan Backbone.js. Backbone Struktur aplikasi dengan model, koleksi, dan pandangan, manakala EaselJS memudahkan manipulasi kanvas HTML5. Walaupun tulang belakang tidak diperlukan untuk projek ini, ia merupakan pengenalan yang berguna kepada keupayaannya.

    Konsep Utama:

      Backbone.js menyediakan struktur melalui model, koleksi, dan pandangan, dengan berkesan bekerjasama dengan Easeljs untuk fungsi drag-and-drop.
    • Pandangan tulang belakang adalah html-agnostik, serasi dengan mana-mana perpustakaan templat JavaScript. Di sini, easeljs secara langsung memanipulasi kanvas; Fungsi
    • paparan dikaitkan dengan acara render() model untuk kemas kini automatik. change
    • mendengar untuk acara CanvasView koleksi, menjadikan batu baru setiap kali ditambah. Mengklik Rake (Rectangle Pink) menambah model batu baru, mencetuskan add. renderStone()
    • easeljs menguruskan unsur-unsur visual, manakala tulang belakang.js mengendalikan data dan logik, mewujudkan gabungan yang cekap untuk pelaksanaan drag-and-drop.

    Persediaan Projek:

    Buat struktur direktori ini:

    <code>.
    |-- index.html
    +-- js
        |-- main.js
        |-- models
        |   +-- stone.js
        +-- views
            +-- view.js</code>

    Termasuk fail JavaScript dan elemen kanvas: index.html

    <!DOCTYPE html>
    <html>
    <head>
      <title>Drag and Drop with Backbone and EaselJS</title>
    </head>
    <body>
      <canvas id="testcanvas" height="640" width="480"></canvas>
    
      <??>
      <??>
      <??>
      <??>
      <??>
      <??>
      <??>
      <??>
    </body>
    </html>

    Model tulang belakang:

    : js/models/stone.js

    var Stone = Backbone.Model.extend({});
    
    var StoneCollection = Backbone.Collection.extend({
      model: Stone
    });
    Ini mentakrifkan model

    mudah dan Stone. StoneCollection

    memulakan pandangan tulang belakang dengan easeljs:

    : js/main.js

    $(document).ready(function() {
      var stage = new createjs.Stage("testcanvas");
      var view = new CanvasView({stage: stage}).render();
    });
    Ini mewujudkan tahap easeljs dan instantiates

    . CanvasView

    : js/views/view.js

    var CanvasView = Backbone.View.extend({
      initialize: function(args) {
        this.stage = args.stage;
        this.stage.enableMouseOver(20);
        this.collection = new StoneCollection();
        this.rakeOffsets = { /* ... (rake dimensions) ... */ };
        this.listenTo(this.collection, "add", this.renderStone, this);
        this.listenTo(this.collection, "remove", this.renderRake, this);
        this.listenTo(this.collection, "reset", this.renderRake, this);
      },
      render: function() {
        this.renderRake();
        this.stage.update();
        createjs.Ticker.addEventListener("tick", this.stage);
        createjs.Ticker.setInterval(25);
        createjs.Ticker.setFPS(60);
      },
      renderRake: function() { /* ... (rake rendering and click handler) ... */ },
      renderStone: function(model) { /* ... (stone rendering and drag-and-drop logic) ... */ }
    });
    The

    memulakan peringkat, koleksi, dan pendengar acara. Fungsi CanvasView memberikan rake dan batu, dan menetapkan ticker animasi. render() dan renderRake() mengendalikan aspek visual. (The Complete renderStone() dan renderRake() Fungsi, termasuk pelaksanaan drag-and-drop, terlalu luas untuk dimasukkan ke sini tetapi boleh didapati di repositori GitHub artikel asal). renderStone()

    Baki kod (seret dan drop logik, fungsi penolong) akan berada dalam

    dan fungsi penolong tambahan dalam renderStone(). Rujuk artikel asal untuk butiran pelaksanaan lengkap. js/views/view.js

    Sambutan yang disemak ini memberikan gambaran keseluruhan yang ringkas dan berstruktur, menonjolkan komponen utama dan interaksi mereka. Ingatlah untuk merujuk artikel asal untuk kod lengkap dan penjelasan terperinci mengenai pelaksanaan drag-and-drop.

    Atas ialah kandungan terperinci Melaksanakan seret dan jatuhkan menggunakan Backbone dan Easeljs - SitePoint. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

    Alat AI Hot

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    Video Face Swap

    Video Face Swap

    Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

    Alat panas

    Notepad++7.3.1

    Notepad++7.3.1

    Editor kod yang mudah digunakan dan percuma

    SublimeText3 versi Cina

    SublimeText3 versi Cina

    Versi Cina, sangat mudah digunakan

    Hantar Studio 13.0.1

    Hantar Studio 13.0.1

    Persekitaran pembangunan bersepadu PHP yang berkuasa

    Dreamweaver CS6

    Dreamweaver CS6

    Alat pembangunan web visual

    SublimeText3 versi Mac

    SublimeText3 versi Mac

    Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

    Java vs JavaScript: Membersihkan kekeliruan Java vs JavaScript: Membersihkan kekeliruan Jun 20, 2025 am 12:27 AM

    Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza, masing -masing sesuai untuk senario aplikasi yang berbeza. Java digunakan untuk pembangunan aplikasi perusahaan dan mudah alih yang besar, sementara JavaScript digunakan terutamanya untuk pembangunan laman web.

    Komen JavaScript: Penjelasan ringkas Komen JavaScript: Penjelasan ringkas Jun 19, 2025 am 12:40 AM

    JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic

    Bagaimana untuk bekerja dengan tarikh dan masa di JS? Bagaimana untuk bekerja dengan tarikh dan masa di JS? Jul 01, 2025 am 01:27 AM

    Titik berikut harus diperhatikan apabila tarikh pemprosesan dan masa di JavaScript: 1. Terdapat banyak cara untuk membuat objek tarikh. Adalah disyorkan untuk menggunakan rentetan format ISO untuk memastikan keserasian; 2. Dapatkan dan tetapkan maklumat masa boleh diperoleh dan tetapkan kaedah, dan ambil perhatian bahawa bulan bermula dari 0; 3. Tarikh pemformatan secara manual memerlukan rentetan, dan perpustakaan pihak ketiga juga boleh digunakan; 4. Adalah disyorkan untuk menggunakan perpustakaan yang menyokong zon masa, seperti Luxon. Menguasai perkara -perkara utama ini secara berkesan dapat mengelakkan kesilapan yang sama.

    JavaScript vs Java: Perbandingan Komprehensif untuk Pemaju JavaScript vs Java: Perbandingan Komprehensif untuk Pemaju Jun 20, 2025 am 12:21 AM

    JavaScriptispreferredforwebdevelopment, whersjavaisbetterforlarge-scalebackendsystemsandandroidapps.1) javascriptexcelsinceleatinginteractiveWebexperienceswithitsdynamicnatureanddommanipulation.2) javaoffersstrongyblectionandobjection

    Kenapa anda harus meletakkan tag  di bahagian bawah ? Kenapa anda harus meletakkan tag di bahagian bawah ? Jul 02, 2025 am 01:22 AM

    PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

    JavaScript: Meneroka jenis data untuk pengekodan yang cekap JavaScript: Meneroka jenis data untuk pengekodan yang cekap Jun 20, 2025 am 12:46 AM

    JavascripthassevenfundamentalDatypes: nombor, rentetan, boolean, undefined, null, objek, andsymbol.1) numberuseadouble-precisionformat, bergunaforwidevaluangesbutbecautiouswithfloating-pointarithmetic.2)

    Apakah peristiwa yang menggelegak dan menangkap di Dom? Apakah peristiwa yang menggelegak dan menangkap di Dom? Jul 02, 2025 am 01:19 AM

    Penangkapan dan gelembung acara adalah dua peringkat penyebaran acara di Dom. Tangkap adalah dari lapisan atas ke elemen sasaran, dan gelembung adalah dari elemen sasaran ke lapisan atas. 1. Penangkapan acara dilaksanakan dengan menetapkan parameter useCapture addeventlistener kepada benar; 2. Bubble acara adalah tingkah laku lalai, useCapture ditetapkan kepada palsu atau ditinggalkan; 3. Penyebaran acara boleh digunakan untuk mencegah penyebaran acara; 4. Acara menggelegak menyokong delegasi acara untuk meningkatkan kecekapan pemprosesan kandungan dinamik; 5. Penangkapan boleh digunakan untuk memintas peristiwa terlebih dahulu, seperti pemprosesan pembalakan atau ralat. Memahami kedua -dua fasa ini membantu mengawal masa dan bagaimana JavaScript bertindak balas terhadap operasi pengguna.

    Apa perbezaan antara Java dan JavaScript? Apa perbezaan antara Java dan JavaScript? Jun 17, 2025 am 09:17 AM

    Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza. 1.Java adalah bahasa yang ditaip dan disusun secara statik, sesuai untuk aplikasi perusahaan dan sistem besar. 2. JavaScript adalah jenis dinamik dan bahasa yang ditafsirkan, terutamanya digunakan untuk interaksi web dan pembangunan front-end.

    See all articles