欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript游戲開發(fā)之《三國志曹操傳》零部件開發(fā)(一)讓靜態(tài)人物動起來

 更新時間:2013年01月23日 16:52:41   作者:  
首先來說,讓一個游戲賦有可玩性必須要動靜結(jié)合,我將要在下面告訴大家如何運用Javascript將靜態(tài)圖片變?yōu)閯討B(tài)圖片,感興趣的朋友可以了解下,便當(dāng)鞏固js知識了

首先來說,讓一個游戲賦有可玩性必須要動靜結(jié)合。(哈哈,大家以為我要講作文了。。。但其實我今天要講的是Javascript)靜態(tài)的東西誰不會做呢?因為東西一生下來就是靜態(tài)的(除非你是用的gif動畫),所以不需要任何處理就能完成靜態(tài)。那么我將要在下面告訴大家如何運用Javascript將靜態(tài)圖片變?yōu)閯討B(tài)圖片。

一、圖片準(zhǔn)備

    fight01.pngfight02.pngfight03.pngfight04.png03.png02.png01.png首先,我找了一些出自經(jīng)典游戲《三國志曹操傳》里的素材(這些是魏將龐德的圖片)。在下面我要用這些靜態(tài)圖片來演示如何化靜為動。如果自己要演示代碼,請把以上的圖片下載下來,圖片名為圖片對應(yīng)下面那一欄。

二、代碼講解

先看以下javascript代碼:
復(fù)制代碼 代碼如下:

var picSub = 0;

var time = 150; //時間間隔(毫秒)

var pic1 = "./01.png";
var pic2 = "./02.png";
var pic3 = "./03.png";
var pic4 = "./01.png";
var picArr = [pic1, pic2, pic3, pic4]; //定義數(shù)組,并將圖片的位置所對應(yīng)的變量放入其中

setInterval(changeImg, time); //使圖片按一定時間切換

function changeImg()
{
var xElem = document.getElementById("ID_IMG_ROLE");

if(picSub == picArr.length-1){
picSub = 0;
}else{
picSub += 1;
} //判斷是否超出數(shù)組長度,若超出,便使數(shù)組下標(biāo)歸0,使其不超出

xElem.src = picArr[picSub]; //切換圖片
}

function changeFight()
{
pic1 = "./fight01.png";
pic2 = "./fight02.png";
pic3 = "./fight03.png";
pic4 = "./fight04.png";

picArr = [pic1, pic2, pic3, pic4];

setTimeout(reduction, 600);
}

function reduction()
{
pic1 = "./01.png";
pic2 = "./02.png";
pic3 = "./03.png";
pic4 = "./01.png";
picArr = [pic1, pic2, pic3, pic4];
}

這些代碼用到了我最愛的數(shù)組,當(dāng)然,這里的數(shù)組也是整個程序的核心。以下是我一字一句的講解:
復(fù)制代碼 代碼如下:

var pic1 = "./01.png";
var pic2 = "./02.png";
var pic3 = "./03.png";
var pic4 = "./01.png";
var picArr = [pic1, pic2, pic3, pic4]; //定義數(shù)組,并將圖片的位置所對應(yīng)的變量放入其中

首先在數(shù)組里我放了幾個圖片的位置所對應(yīng)的變量。以便用于以下操作。
再看代碼:
復(fù)制代碼 代碼如下:

var xElem = document.getElementById("ID_IMG_ROLE");

if(picSub == picArr.length-1){
picSub = 0;
}else{
picSub += 1;
} //判斷是否超出數(shù)組長度,若超出,便使數(shù)組下標(biāo)歸0,使其不超出

xElem.src = picArr[picSub]; //切換圖片

這里用if...else語句判斷數(shù)組下標(biāo)是否超出數(shù)組長度,超出則讓下標(biāo)歸0。然后取出下標(biāo)在數(shù)組里對應(yīng)的圖片位置并賦給帶有id屬性為ID_IMG_ROLE的img標(biāo)簽里的src屬性。這樣就可以讓圖片不停的變化了。因此在這時只要給他一個函數(shù)調(diào)用的地方就能大功告成!為了讓圖片顯示不是一瞬間的事,我們要給它一個等待秒數(shù),等待完了再顯現(xiàn)下一張圖。因此我用了以下代碼進(jìn)行函數(shù)調(diào)用:
復(fù)制代碼 代碼如下:

var time = 150; //時間間隔(毫秒)
setInterval(changeImg, time); //使圖片按一定時間切換

這樣就能使圖片動起來了。我在這里還添了一個功能:當(dāng)你在綠色邊框里按下鼠標(biāo)左鍵時,里面的人物會進(jìn)行攻擊,原理也很簡單,大家慢慢研究吧!
為了大家測試方便,我把包括html的所有代碼放在下面供大家下載:

我提供下載代碼
三、演示效果

先開始是:


然后是:

演示位置
四、后記

看完這一篇文章大家一定對Javascript做動態(tài)的人物有了初步的了解吧。
以后大家可以盡情發(fā)揮自己的想象,運用這種方法作出漂亮的動態(tài)游戲。
當(dāng)然,程序的奧秘不只這些,摸透它也不簡單呀!以后我會給大家講講其他的Javascript游戲開發(fā)技術(shù)。希望大家喜歡。

相關(guān)文章

  • document.open() 與 document.write()的區(qū)別

    document.open() 與 document.write()的區(qū)別

    document.open() 與 document.write()的區(qū)別...
    2007-08-08
  • 微信小程序textarea層級過高(蓋住其他元素)問題的解決辦法

    微信小程序textarea層級過高(蓋住其他元素)問題的解決辦法

    這篇文章主要給大家介紹了關(guān)于微信小程序textarea層級過高(蓋住其他元素)問題的解決辦法,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • webpack打包后直接訪問頁面圖片路徑錯誤的解決方法

    webpack打包后直接訪問頁面圖片路徑錯誤的解決方法

    這篇文章主要給大家介紹了在webpack打包后直接訪問頁面圖片路徑錯誤的解決方法,文中介紹的非常詳細(xì),對遇到這個問題的朋友們具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • JS實現(xiàn)商品篩選功能

    JS實現(xiàn)商品篩選功能

    這篇文章主要為大家詳細(xì)介紹了JS實現(xiàn)商品篩選功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 一篇文章弄懂javascript內(nèi)存泄漏

    一篇文章弄懂javascript內(nèi)存泄漏

    js的垃圾回收機(jī)制就是為了防止內(nèi)存泄漏的,這篇文章主要給大家介紹了如何通過一篇文章弄懂javascript內(nèi)存泄漏的相關(guān)資料,需要的朋友可以參考下
    2021-05-05
  • javascript前端埋點上報的幾種方式

    javascript前端埋點上報的幾種方式

    本文將介紹前端埋點上報的幾種常見方式,并詳細(xì)闡述如何在項目中運用這些方式進(jìn)行數(shù)據(jù)上報,以幫助開發(fā)者更好地進(jìn)行數(shù)據(jù)收集和分析,感興趣的可以了解一下
    2023-11-11
  • JavaScript強(qiáng)制類型轉(zhuǎn)換和隱式類型轉(zhuǎn)換操作示例

    JavaScript強(qiáng)制類型轉(zhuǎn)換和隱式類型轉(zhuǎn)換操作示例

    這篇文章主要介紹了JavaScript強(qiáng)制類型轉(zhuǎn)換和隱式類型轉(zhuǎn)換操作,結(jié)合實例形式分析了javascript字符串、數(shù)字等顯示類型轉(zhuǎn)換,以及運算、判斷等情況下的隱式類型轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • JS中跳出循環(huán)的示例代碼

    JS中跳出循環(huán)的示例代碼

    for循環(huán)中我們使用continue;終止本次循環(huán)計入下一個循環(huán),使用break終止整個循環(huán)。下面小編通過本文給大家分享JS中跳出循環(huán)的示例代碼,需要的朋友參考下吧
    2017-09-09
  • firefox瀏覽器不支持innerText的解決方法

    firefox瀏覽器不支持innerText的解決方法

    在測試時發(fā)現(xiàn)firefox不支持innerText,該怎么辦呢?其實很簡單,本文為大家提供了一個解決方法,感興趣的朋友可以參考下,希望對大家有所幫助
    2013-08-08

最新評論