createjs參數,createjs教程

本文目錄一覽:

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

CreateJS

CreateJS 是一套可以構建豐富交互體驗的 HTML5 遊戲的開源工具包,旨在降低 HTML5 項目的開發難度和成本,讓開發者以熟悉的方式打造更具現代感的網路交互體驗。

CreateJS 中包含:

EaselJS:用於 Sprites、動畫、向量和點陣圖的繪製,創建 HTML5 Canvas 上的交互體驗(包含多點觸控),同時提供 Flash 中的「顯示列表」功能。

TweenJS:一個簡單的用於製作類似 Flash 中「補間動畫」的引擎,可生成數字或非數字的連續變化效果。

SoundJS:一個音頻播放引擎,能夠根據瀏覽器性能選擇音頻播放方式。將音頻文件作為模塊,可隨時載入和卸載。

PrloadJS:幫助你簡化網站資源預載入工作,無論載入內容是圖形、視頻、聲音、JS、數據……

以上的Createjs介紹來自百度,不過通過介紹可以知道,雖然CreateJS看起來複雜,不過四個部分各有作用,其中最主要的就是EaselJS,其餘三項不過是為他服務。

一.如何使用EaselJS

首先到 下載最新版的EaselJS,下載解壓後可以在lib文件夾中找到easeljs-0.8.1.min.js,同時在壓縮包中可以找到一個examples和tutorials目錄,這兩個目錄中包含一些入門介紹和例子,有英語基礎可以看看,DOC文件夾中包含easeljs所有的api。(同理,可以得到createjs包含的其他三項,其目錄結構都與EaselJS相似)。

1.得到easeljs-0.8.1.min.js後,新建一個HTML5文件並導入之:

[html] view plain copy

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

2.入口函數和創建canvas標籤

[html] view plain copy

body onload=”init();”

canvas id=”game” width=”1000″ height=”700″ style=”background-color: white”/canvas

/body

3.編寫自己的javascript代碼,在函數init()中首先應該使用HTML中的canvas標籤來創建一個Stage,createjs中用到的所有元素,都是添加在這個stage當中的,添加後調用stage.update()方法即可使得添加的元素顯示在頁面上。在創建Stage時,可以直接使用Canvas的id來創建,也可以調用document.getElementById(“game”),選取canvas來創建,沒有區別。

[javascript] view plain copy

script

function init(){

var stage = new createjs.Stage(“game”);

…….

stage.update();

}

/script

二.使用EaselJS創建圖形和文字

最簡單的遊戲都是由文字和圖形組成,使用EaselJS添加文字和圖形非常的簡單。

1.添加文字

[html] view plain copy

var txt = new createjs.Text(“HELLO”,”20px Times”,”#000″);

Createjs中所有的元素都通過調用new createjs.XXXXX來創建,Text包含三個參數分別是顯示的字元,字體及大小,最後是顏色。當然在創建完成後可以隨意改變txt的x,y坐標和對其,居中以及內容等等的屬性。例如:

[html] view plain copy

txt.x = 100;

txt.y = 100;

txt.text = “hello, world!”

完成後記得一定要把新創建的txt添加到stage中才能正常顯示

easeljs的drawrect的高度參數怎麼會翻倍?

canvas id=”gameview” width=”400″ height=”400″

設置一下canvas的width和height,如果沒有設置,則默認是width:300px,height:150px.

此時如果你又用css規定了canvas的寬度和高度的樣式,那就會產生這種不想出現的縮放效果。

可以參考:

HTML5動畫框架easeljs中setFPS函數

setFPS、getFPS是EaselJS中Ticker類用於設置和獲取幀頻的函數。

EaselJS中Ticker類動畫機制:

1、 逐幀動畫

逐幀動畫,把動畫(例如人物動作)進行分解,然後繪製出連續的、具有代表性的動作,連續播放形成動畫,逐幀動畫適用於複雜的不連續的動畫。

        實現逐幀動畫主要需要兩個東西,動作關鍵幀和動起來的機制。

        「動畫」機制: 使動畫動起來的機制,這裡使用EaselJS的一個類Ticker

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

function tick(evt) {  

    //some code   

}

Ticker的幾個關鍵方法,setFPS、getFPS設置和獲取幀頻,setInterval、getInterval設置和獲取時間間隔,setPaused、getPaused設置和獲取暫停等,這些都是靜態方法。

createJS上的逐幀動畫示例:

!DOCTYPE html

html lang=”en”

head

        meta charset=”UTF-8″

        meta author=”pingfan” content=”creatJSGame”

        title玩轉createJS遊戲/title

        link rel=”stylesheet” href=”../css/game.css”

/head

body

        canvas id=’canvas’ width=”960″ height=”400″瀏覽器不支持canvas,請使用現代瀏覽器。/canvas

        script src=”/script

        script

                var  stage=new createjs.Stage(“canvas”),

                     container=new createjs.Container(),

                     // 定義SpriteSheet 參數

                     data={

                                “animations”:{

                                        “run”: [0, 25, “jump”],

                                        //start,end,next,speed開始幀,結束幀,下一個動作,運行速度

                                        “jump”: [26, 63, “run”,1]

                                },

                             “images”: [“”],

                             “frames”:{

                                     //單個幀的高度,寬度,就是png圖片裡面那麼多個幀一個幀的大小

                                        “height”: 292.5,

                                        “width”:165.75,

                                        //相對於原始偏移的位置

                                        “regX”: 0,

                                        “regY”: 0,

                                        //幀數

                                        “count”: 64

                                }

                     };

                //實例精靈動畫集

                var move = new createjs.SpriteSheet(data);

                //SpriteSheet類設置幀和動畫,裡面的run為開始的動畫

                var grant = new createjs.Sprite(move,”run”);

                        //設置在舞台中的位置

                         grant.x=360;

                         grant.y=100;

                // 把動畫放到舞台上,創建一個間隔事件偵聽,進行動畫  

                container.addChild(grant);

                stage.addChild(container);

                createjs.Ticker.setFPS(60);        

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

                stage.update();    

        /script        

/body

/html

2、補間動畫

        補間動畫,指我們給定動作的初始狀態和結束狀態,然後動畫系統(例如動畫軟體)自動補齊中間狀態,從而形成動畫,補間動畫適用於物體的移動、狀態的改變等簡單的動畫。

        補間動畫實例,讓剛剛那個原地跑步的人,向前方跑動,單擊時表示跳起:

!DOCTYPE html

html lang=”en”

head

        meta charset=”UTF-8″

        meta author=”pingfan” content=”creatJSGame”

        title玩轉createJS遊戲/title

        link rel=”stylesheet” href=”../css/game.css”

/head

body

        canvas id=’canvas’ width=”960″ height=”400″瀏覽器不支持canvas,請使用現代瀏覽器。/canvas

        button id=’btn’暫停pause/button

        script src=”/script

        script

                var  stage=new createjs.Stage(“canvas”),

                     container=new createjs.Container(),

                     // 定義SpriteSheet 參數

                     data={

                                “animations”:{

                                        “run”: [0, 25, “run”,1.5],

                                        //start,end,next,speed開始幀,結束幀,下一個動作,運行速度

                                        “jump”: [26, 63, “run”,1.5]

                                },

                             “images”: [“../img/runningGrant.png”],

                             “frames”:{

                                     //單個幀的高度,寬度,就是png圖片裡面那麼多個幀一個幀的大小

                                        “height”: 292.5,

                                        “width”:165.75,

                                        //相對於原始偏移的位置

                                        “regX”: 0,

                                        “regY”: 0,

                                        //幀數

                                        “count”: 64

                                }

                     };

                //實例精靈動畫集

                var move = new createjs.SpriteSheet(data);

                //SpriteSheet類設置幀和動畫,裡面的run為開始的動畫

                var grant = new createjs.Sprite(move,”run”);

                        //設置在舞台中的位置

                         grant.x=20;

                         grant.y=22;

                // 把動畫放到舞台上,創建一個間隔事件偵聽,進行動畫  

                container.addChild(grant);

                stage.addChild(container);

                createjs.Ticker.setFPS(60);

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

                //speed用來做加速度

                var speed=1;

                function tick(){

                        if(!createjs.Ticker.getPaused()){

                                grant.x+=3*speed;

                                stage.update();

                                speed+=.01;

                                (grant.xstage.canvas.width)  (grant.x=0,speed=1)

                        }

                }

                //偵聽滑鼠事件

                stage.addEventListener(“stagemousedown”,handleClick);

                function handleClick(){

                                //alert(11);

                                grant.gotoAndPlay(“jump”);

                }

                //設置按鈕暫停

                var btn=document.getElementById(“btn”);

                btn.addEventListener(“click”,toggleMove,false);

                function toggleMove(){

                        //        grant.gotoAndStop();

                        //其實實現暫停和運動就是false和true切換

                        var paused = !createjs.Ticker.getPaused();

                        createjs.Ticker.setPaused(paused);

                        btn.value=”暫停pause” ? “運動play” : “暫停pause”;

                }

                stage.update();    

        /script        

/body

/html

createjs.shape.call什麼意思

call方法的第一個參數定義了this關鍵字在被調用方法的執行上下文中指向和對象。

每個JavaScript的代碼執行上下文都提供了this關鍵字

而this理論上是你當前所操作的js對象。

function Shape() { this.x = 0; this.y = 0; }

function Circle() { this.radius = 0;

Shape.call(this); }

最後一行代碼Shape.call(this)調用了Shape構造函數並改變了當Circle構造函數被調用時指向this的this值。

啥意思?

var c = new Circle();

新建一個對象。這行代碼調用了Circle構造函數,它首先在c上綁定了一個變數radius。此時的this指向的是c。

我們接著調用Shape構造函數,然後將Shape中的this值指向當前在Circle中的this值,也就是c。Shape構造函數將x和y綁定到了當前的this上,也就是說,c現在擁有值為0的x和y屬性。

如何用JS寫一個chrome插件來搜索現成的網頁內容並替換

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(); 

}

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-04 10:27
下一篇 2024-12-04 10:27

相關推薦

  • MQTT使用教程

    MQTT是一種輕量級的消息傳輸協議,適用於物聯網領域中的設備與雲端、設備與設備之間的數據傳輸。本文將介紹使用MQTT實現設備與雲端數據傳輸的方法和注意事項。 一、準備工作 在使用M…

    編程 2025-04-29
  • Python3.6.5下載安裝教程

    Python是一種面向對象、解釋型計算機程序語言。它是一門動態語言,因為它不會對程序員提前聲明變數類型,而是在變數第一次賦值時自動識別該變數的類型。 Python3.6.5是Pyt…

    編程 2025-04-29
  • Deepin系統分區設置教程

    本教程將會詳細介紹Deepin系統如何進行分區設置,分享多種方式讓您了解如何規劃您的硬碟。 一、分區的基本知識 在進行Deepin系統分區設置之前,我們需要了解一些基本分區概念。 …

    編程 2025-04-29
  • 三星內存條參數用法介紹

    本文將詳細解釋三星內存條上面的各種參數,讓你更好地了解內存條並選擇適合自己的一款。 一、容量大小 容量大小是內存條最基本的參數,一般以GB為單位表示,常見的有2GB、4GB、8GB…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變數時顯示的指定變數類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python input參數變數用法介紹

    本文將從多個方面對Python input括弧里參數變數進行闡述與詳解,並提供相應的代碼示例。 一、基本介紹 Python input()函數用於獲取用戶輸入。當程序運行到inpu…

    編程 2025-04-29
  • Spring Boot中發GET請求參數的處理

    本文將詳細介紹如何在Spring Boot中處理GET請求參數,並給出完整的代碼示例。 一、Spring Boot的GET請求參數基礎 在Spring Boot中,處理GET請求參…

    編程 2025-04-29
  • Qt雷達探測教程

    本文主要介紹如何使用Qt開發雷達探測程序,並展示一個簡單的雷達探測示例。 一、環境準備 在開始本教程之前,需要確保你的開發環境已經安裝Qt和Qt Creator。如果沒有安裝,可以…

    編程 2025-04-29
  • 猿編程python免費全套教程400集

    想要學習Python編程嗎?猿編程python免費全套教程400集是一個不錯的選擇!下面我們來詳細了解一下這個教程。 一、課程內容 猿編程python免費全套教程400集包含了從P…

    編程 2025-04-29

發表回復

登錄後才能評論