包含createjs繪製路徑的詞條

本文目錄一覽:

如何在網頁點擊按鈕創建一個js文件

input type=”button” onclick=”createjs()”/

function createjs()

{

var fso,f1

fso=new ActiveXObject(“Scripting.FileSystemObject”);

f1=fso.CreateTextFile(“e:\\js.js”,true); //路徑自行定義,也可以能過參數

f1.WriteLine(“js代碼”);

f1.WriteBlankLines(1);

f1.Close();

}

如何使用Createjs來編寫HTML5遊戲EaselJS簡介

createJs的由來,基礎什麼的就不說了,就直接說createJs的用法吧。

首先到createJs官網下載,createJs分成easelJs(圖形動畫)、preloadJs(文件加載)、soundJs(音頻控制)以及tweenJs(補間動畫)四部分,大家下載的時候,建議下載兩個文件,一個是壓縮版文件,用於項目中的引用,再下載個源碼文件,用於查看用法、API、demo等。因為樓主目前只用了easelJs和preloadJs,所以暫時就只說這兩個,其實就這兩個已經非常夠用了。

接下來開始分析代碼:

首先引入js文件

script

src=”easeljs-0.7.1.min.js”/script

script

src=”preloadjs-0.4.1.min.js”/script

然後進行舞台初始化操作:

function

init(){

stage

=

new

createjs.Stage(“cas”);

C_W

=

stage.canvas.width;

C_H

=

stage.canvas.height;

var

manifest

=

[

{src:”image/man.png”

,

id:”man”},

{src:”image/ground.png”

,

id:”ground”},

{src:”image/bg.png”

,

id:”bg”},

{src:”image/high.jpg”

,

id:”high”},

{src:”image/coins.png”

,

id:”coin”}

]

loader

=

new

createjs.LoadQueue(false);

loader.addEventListener(“complete”

,

handleComplete);

loader.loadManifest(manifest);

drawLoading();

}

上面就用到了preloadJs中的方法,實例化一個loader,把需要加載的圖片文件放在manifest裏面,進行加載,加載完成後調用回調handleCompelete函數:

function

handleComplete(){

//當圖片素材load完後執行該方法

var

manImage

=

loader.getResult(“man”),

lowground

=

loader.getResult(“ground”),

highground

=

loader.getResult(“high”),

bgImage

=

loader.getResult(“bg”),

coins

=

loader.getResult(“coin”);

sky

=

new

createjs.Shape();

sky.graphics.bf(bgImage).drawRect(0,0,C_W,C_H);

sky.setTransform(0,

0,

1

,

C_H/bgImage.height);

stage.addChild(sky);

man

=

createMan(200,326,manImage);

//該框為判定角色的判定區域

kuang

=

new

createjs.Shape();

kuang.graphics.beginStroke(“rgba(255,0,0,0.5)”).drawRect(0

,

,

man.size().w

,

man.picsize().h*1.5);

//

stage.addChild(kuang);

mapHandle(lowground

,

highground

,

coins);

createjs.Ticker.timingMode

=

createjs.Ticker.RAF;//設置循環方法,可以是requestAnimationFrame或者是setTimeout

createjs.Ticker.setFPS(30);//舞台幀率控制

createjs.Ticker.addEventListener(“tick”,

tick);//綁定舞台每一幀的邏輯發生函數

window.addEventListener(“keydown”

,

function(event){

event

=

event||window.event;

if(event.keyCode===32man.jumpNumman.jumpMax){

man.jump();

}

})

}

獲得加載完成後端的圖片數據就直接用loader.getResult就可以獲取了,跑酷遊戲需要一個背景,所以,我們實例化一個sky,然後進行位圖繪製,bf方法是beginBitmapFill的縮寫,該方法就是開始繪製位圖,後面的drawRect是位圖的繪製區域,區域當然是整個畫布啦,所以就是drawRect(0,0,C_W,C_H)。實例化出來sky後就直接添加到舞台stage裏面就行了。接下來是實例化一個角色,createMan方法後面有說,是自己封裝的。

然後進行舞台循環設置,上面有注釋了,就不說了。

如何使用Createjs來編寫HTML5遊戲TweenJS和Tick動畫

CreateJS包含4個部分,EaselJS、TweenJS、PreloadJS、SoundJS,其中最主要的部分EaselJS包含了開發Html5遊戲的所有功能,僅僅使用EaselJS幾乎可以完成所有的開發工作,其餘三項可以看作EaselJS的輔助工具。比如響應tick事件然後改變元素坐標就可以實現動畫功能,而使用TweenJS來創建補間動畫,則可以省去你很多代碼,簡化了操作。

一個簡單的tick動畫看起來是這樣的:

var stage, circle;  

   function init(){  

       stage = new createjs.Stage(document.getElementById(‘game’));  

       createjs.Ticker.addEventListener(“tick”, handleTick);  

       createjs.Ticker.setFPS(60);  

       circle = new createjs.Shape();  

       circle.graphics.f(“red”).dc(0,0,50);  

       circle.x = 0;  

       circle.y = 100;  

       stage.addChild(circle);  

  

       circle.addEventListener(“click”, function(event){  

           createjs.Ticker.setPaused(!createjs.Ticker.getPaused());  

       });  

  

   }  

  

   function handleTick(event){  

   if(!event.paused){  

       circle.x +=5;  

       if(circle.x  1000){  

           circle.x = 0;  

       }  

   }  

       stage.update();  

   }

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/286021.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-22 16:06
下一篇 2024-12-22 16:07

相關推薦

  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python文件路徑賦值

    Python中文件操作是非常基本的操作,而文件路徑是文件操作的前提。本文將從多個方面闡述如何在Python中賦值文件路徑。 一、絕對路徑和相對路徑 在Python中,路徑可以分為絕…

    編程 2025-04-28
  • JS圖片沿着SVG路徑移動實現方法

    本文將為大家詳細介紹如何使用JS實現圖片沿着SVG路徑移動的效果,包括路徑製作、路徑效果、以及實現代碼等內容。 一、路徑製作 路徑的製作,我們需要使用到SVG,SVG是可縮放矢量圖…

    編程 2025-04-27
  • Python3文件路徑操作

    Python3中文件路徑操作是日常編程中常用到的基礎操作之一。在Python中,我們可以使用內置庫os來操作文件路徑,包括創建、刪除、移動、複製等文件操作。本文將深度解析Pytho…

    編程 2025-04-27
  • Python文件相對路徑怎麼寫

    Python是一門被廣泛使用的編程語言,Python腳本通常需要對文件進行讀寫操作。而那些需要讀寫的文件,其路徑往往並不在Python腳本的同一目錄下,這就需要我們了解Python…

    編程 2025-04-27
  • 關鍵路徑的詳細闡述

    關鍵路徑是項目管理中非常重要的一個概念,它通常指的是項目中最長的一條路徑,它決定了整個項目的完成時間。在這篇文章中,我們將從多個方面對關鍵路徑做詳細的闡述。 一、概念 關鍵路徑是指…

    編程 2025-04-25
  • Linux文件路徑詳解

    一、絕對路徑和相對路徑 在Linux系統中,文件路徑有絕對路徑和相對路徑兩種表示方式。 1、絕對路徑:以根目錄(/)為參照,以 / 開始表示文件路徑的方式。 例如:/home/us…

    編程 2025-04-25
  • 如何查看maven安裝路徑

    一、通過maven命令查看 mvn -v 執行以上命令,可以在控制台輸出maven相關信息,包括maven的版本、Java的版本、操作系統等,其輸出信息中包含了maven的安裝路徑…

    編程 2025-04-25
  • 路徑規劃常用算法

    一、最短路徑算法 最短路徑是指從起點到終點距離最短的路徑。在路徑規劃中,最短路徑算法是最基本的算法之一。最短路徑算法主要分為兩類:單源最短路徑和多源最短路徑。單源最短路徑是指從一個…

    編程 2025-04-23
  • 詳解VBA獲取當前文件路徑

    一、通過ActiveWorkbook路徑獲取文件路徑 在VBA中,我們可以通過ActiveWorkbook獲取當前操作的Excel文件的路徑。ActiveWorkbook屬性返回當…

    編程 2025-04-23

發表回復

登錄後才能評論