50
Java Script เ อกชัย วอสูงเนิน

Java script เบื้องต้น

Embed Size (px)

Citation preview

Java Scriptเ อกชย วอสงเนน

ตวแปรของจาวาสครปต

ในขนตอนของการพฒนาโปรแกรมจะตองมการด าเนนการกบขอมล ซงนกพฒนาจ าเปนทจะตองทราบถงหลกการและวธการของภาษานนๆ จาวาสครปตเปฯภาษทใชตวแปรแบบ ไดนามก กลาวคอ เปนภาษาทสามารถเปลยนชนดของตวแปรไดแบบดวยตวเองเพอเพมความยดหยนในการท างาน โดยปกตแลวในการเขยนเกม เราจะใชตวแปรทส าคญ ไดแก ตวแปรชนดจ านวนเตม (Integer) ตวแปรชนดทศนยม (Float), ตวแปรชนดขอความ (String), ตวแปรชนด Boolean, ตวแปรแบบอารเรย (Array) และตวแปรชนดออปเจกต (Object)

ตวแปรของจาวาสครปต

เราสามารถประกาตวแปรดวยค าสง

var ชอของตวแปร=คาของตวแปร;

ขอก ำหนดในกำรตงชอตวแปรของจำวำสครปต

1. อกษรแรกของชอตวแปรจะตองขน_หรอตวอกษรภาษาองกฤษ หรอเครองหมาย $

2. ในกรณทถาหากขนตนดวยตวเลขจะตองมตวอกษรภาองกฤษแทรกอยในชอตวแปร

3. ไมซ ากบค าสงวน (Reversed word) ในภาษาจาวาสครปต เชน ค าวา function, var

หรอ return

4.ไมมการเวนวรรคชองวางในชอตวแปร

5.จาวาสครปตเปนภาแบบ Case Sensitive ตวอกษรพมพเลก-ใหญ มความหมายแตกตางกน

ดงตวอยางการประกาตวแปร

(game5-13.html)<html>

<head><meta charset="utf-8">

<title> game5-13 </title>

</head>

<body>

<canvas id="myCanvas" width="200" height="400"></canvas>

<script type="text/javascript">

var x = 1.1;

alert(x);

document.write(x);

</script>

</body>

</html>

เมอเราตองการดคาตวแปร เราสามารถใชค าสง alert()

ตวอยางตวแปรชนดจ านวนเตม (Integer)

(game5-14.html)<html>

<head><meta charset="utf-8">

<title> game5-13 </title>

</head>

<body>

<canvas id="myCanvas" width="200" height="400"></canvas>

<script type="text/javascript">

var a=100;

var b=100;

var c=a+b;

alert(c);

</script>

</body>

</html>

ในกรณทไมชอบการแสดงผลแบบแจงเตอน เราสามารถช าสง white ในการแสดงผลตวแปรได เชน document.write(x); หรอ document.writ(“Value x is”+x);

ตวแปรชนดทศนยม (Float)

(game5-15.html)<html>

<head><meta charset="utf-8">

<title> Game4-8 </title>

</head>

<body>

<canvas id="myCanvas" width="200" height="400"></canvas>

<script type="text/javascript">

var a = 1.01;

var b = 1.5;

var c=a+b;

alert(c);

</script>

</body>

</html>

ตวแปรชนดขอความ(String)

(game5-16.html)<html>

<head><meta charset="utf-8">

<title> Game4-8 </title>

</head>

<body>

<canvas id="myCanvas" width="200" height="400"></canvas>

<script type="text/javascript">

var a = "HTML5";

var b = " JavaScript";

var c=a+b;

alert(c);

</script>

</body>

</html>

ตวแปรชนด Boolean

ชนดของตวแปรทสามารถเกบคาตรรกะจรง (True) หรอเทจ (False)(game5-17.html)<html>

<head><meta charset="utf-8">

<title> game5-17 </title>

</head>

<body>

<canvas id="myCanvas" width="200" height="400"></canvas>

<script type="text/javascript">

var a = true;

var b = false;

alert("a : "+a+" , b : "+b);

</script>

</body>

</html>

ตวแปรแบบอารเรย (Array)

ในการเขยนเกม เราอาจจะตองเกบชดล าดบของคยเฟรม (Key Frame) เอาไวในรปแบบของตวแปรชนดอารเรย ซงเปนโครงสรางพนฐานของการเกบขอมล การเขาถงขอมลทเกบไว เราจะใช ดชน หรอ Index เปนตวอางองขอมล จาวาสครปตจะเรมจาก Index ท 0 ดงตวอยางตอไปน

ตวแปรแบบอารเรย (Array)

(game5-18.html)<html>

<head><meta charset="utf-8">

<title> game5-18</title>

</head>

<body>

<canvas id="myCanvas" width="200" height="400"></canvas>

<script type="text/javascript">

var array_a = new Array();

array_a[0] = 10;

array_a[1] = 20;

alert(array_a);

</script>

</body>

</html>

ตวแปรชนดออปเจกต (Object)

ในบางครงเราจ าเปนจะตองรวมประเภทของตวแปรทแตกตางหลายชนด ประกอบเปนตวแปรชนดเดยวกน ซงเรยกวา ออปเจกต เชน ออบเจกตของต าแหนงบนแกนสองมต จะประกอบไปดวย x และ y เราสามารถใชจาวาสครปตสรางออบเจกตดงน

var position={x:10, y:50};

การอางองคาทอยในออบเจกต เราจะใชชอของออบเจกตตามดวยเครองหมาย . (จด) และตวแปรยอยทอยในออบเจกต เชน position.x และ position.y

ตวแปรชนดออปเจกต (Object)

(game5-19.html)<html>

<head><meta charset="utf-8">

<title> game5-19</title>

</head>

<body>

<canvas id="myCanvas" width="200" height="400"></canvas>

<script type="text/javascript">

var position = {x:10, y:50};

alert(position.x+", "+position.y);

</script>

</body>

</html>

ค าสง prompt()

เปนค าสงทชวยรบอนพตและใสคาใหตวแปร เพอความสะดวกในการทดสอบโปรแกรมดงตวอยางน

(game5-20.html)<!DOCTYPE HTML>

<html>

<head>

<meta charset="utf-8">

<title>prompt command</title>

</head>

<body>

<script type="text/javascript">

var inputString = prompt("What's your name?","put your

name here");

alert("Your name is :"+inputString);

</script>

</body>

</html>

เมธอดทเกยวของกบวนเวลา

จาวาสครปต มเมธอดทเกยวของกบการวนและเวลาดงน

เมธอด ความหมายgetDate() คนคาวนของเดอน (เรมจาก 1-31)getDay() คนคาเปนวนในอาทตย (เรมจาก 0-6)getHours() คนคาเปนชวโมง(เรมจาก 0-23)getMinutes() คนคาเปนนาท(เรมจาก 0-59)getSeconds() คนคาเปนวนาท(เรมจาก 0-59)getTime() คนคาเปนวนเดอนป เชน Jan 1,1970getFullYear() คนคาเปนป ค.ศ.

ตวอยางการใชงาน

(game5-21.html)<body>

<p></p>

<script type="text/javascript">

var now = new Date();

document.write("Today is "+now.getDate()+"<br>");

document.write("Today is "+now.getDay()+"<br>");

document.write("Today is "+now.getTime()+"<br>");

document.write("Today is "+now.getFullYear()+"<br>");

</script>

</body>

</html>

ประโยคค าสงแบบมเงอนไข (If Condition-

Statement)

เมอเราท าการเขยนโปรแกรมทตองการแสดงผลตามเงอนไขทแตกตางกน เราสามารถใชการเขยนค าสงแบบมเงอนไขเพอใชในการตดสนใจได ซงสามารถแบงออกเปน 4 ประเภท ไดแก

1. If statement เปนค าสงทจะท างานตอเมอประโยคเงอนไขเปนจรง (true) แลวโปรแกรมจะท าตามค าสง

2. If-else statement เปนค าสงทจะท างานกตอเมอประโยคเงอนไขเปนจรง (true) แลวโปรแกรมจะท าตามค าสงแรก ถาประโยคเงอนไขเปนเทจโปรแกรมจะท าตามค าสงทสอง

3. Nested-if เปนค าสงทใชส าหรบเงอนไขทมหลายกรณ เชน การตดล าดบเกรดตามคะแนนทได4. Switch statement ในกรณทเงอนไขมหลายกรณ เราอาจใช Switch statement เขาชวย ซงท า

ใหโปรแกรมเราอานงายยงขน

If statement

(game5-22.html)<!DOCTYPE HTML>

<html>

<head>

<meta charset="utf-8">

</head>

<body>

<p>X=10 , Y=5, If X > Y then X-Y </p>

<button onclick="myFunction()">Run</button>

<p id="myParagraph"></p>

<script>

function myFunction()

{

var x=10;

var y=5;

var z;

if (x>y){

z=x-y;

}

document.getElementById("myParagraph").innerHTML=z;

}

</script>

</body>

</html>

If-else statement

(game5-23.html)

<!DOCTYPE HTML>

<html>

<head><meta charset="utf-8"></head>

<body>

<p id="input">65 </p>

<button onclick="myFunction()">Run</button>

<p id="myParagraph"></p>

<script>

function myFunction()

{

var age=65;

var z;

if (age>=60){

z="You are older";

}else{

z="You are younger";

}

document.getElementById("myParagraph").innerHTML=z;

}

</script>

</body>

</html>

Nested-if

(game5-24.html)

<!DOCTYPE HTML>

<html>

<head>

<meta charset="utf-8">

</head>

<body>

<p id="input">55 </p>

<button onclick="myFunction()">Run</button>

<p id="myParagraph"></p>

<script>

function myFunction()

{

var score=55;

var grade;

if (score>=80){

grade="A";

}else if(score>=75){

grade="B+";

}else if(score>=70){

grade="B+";

}else if(score>=65){

grade="C+";

}else if(score>=60){

grade="C";

}else if(score>=55){

grade="D+";

}else if(score>=50){

grade="D";

}else{

grade="F";

}

document.getElementById("myParagraph").innerHTML=grade;

}

</script>

</body>

</html>

Switch statement

(game5-25.html)

<html>

<body>

<script type="text/javascript">

var x;

var d=new Date().getDay();

switch (d)

{

case 0:

x="Today it's Sunday";

break;

case 1:

x="Today it's Monday";

break;

case 2:

x="Today it's Tuesday";

break;

case 3:

x="Today it's Wednesday";

break;

case 4:

x="Today it's Thursday";

break;

case 5:

x="Today it's Friday";

break;

case 6:

x="Today it's Saturday";

break;

default:

x="Looking forward to the Weekend";

}

alert(x);

</script>

</body>

</html>

การวนซ าการท างาน (Loop)

การวนซ าการท างานหรอลป (Loop) เปนเครองมอทสามารถวนการท างานของโปรแกรมดวยโคดชดเดมตามรอบ หรอเงอนไขทเราก าหนด ซงในการท าเกมในหนงสอเลมนนน เราจะใชเพยงค าสง for และ while เทานน

1. การวนซ าการท างานดวยค าสง For ค าสง For เปนการวนลปการท างานตามเงอนไขทยงเปนจรง โดยเรมตนจาคาแรก (Initial-Value) โดยจะตรวจสอบวาเงอนไขยงเปนจรงอยหรอไม โดยเปรยบเทยบกบเงอนไข (Condition) ถาเปนจรงจะท างานภายในลป หลงจากนนจะท าการเปลยนแปลงาตวแปรตาขน (Step)

For (var Intitial-value;Condition;Step){statement1;…}

การวนซ าการท างานดวยค าสง For

(game5-26.html)<!DOCTYPE html>

<html><meta charset="utf-8">

<body>

<p>Click the button to loop through a block of code five times.</p>

<button onclick="myFunction()">Click</button>

<p id="myParagraph"></p>

<script type="text/javascript">

function myFunction(){

var x="";

for (var i=0;i<5;i++){

x=x + "<p>The number is " + i + "</p>";

}

document.getElementById("myParagraph").innerHTML=x;

}

</script>

</body>

</html>

การวนซ าการท างานดวยค าสง while

2. การวนซ าการท างานดวยค าสง while เปนค าสงวนการท างาน ซงจะท างานตอเนองกนไปจนกวาเงอนไขจะเปนเทจ โยเราจะตองท าการปรบเปลยนคาของตวแปรทใชตรวจสอบเงอนไข (Condition) มฉะนนโปรแกรมจะท างานแบบอนนต (อนฟนต)

While(Condition){statement1;}

การวนซ าการท างานดวยค าสง while

(game5-27.html)<!DOCTYPE html>

<html><meta charset="utf-8">

<body>

<button onclick="myFunction()">Click</button>

<p id="myParagraph"></p>

<script type="text/javascript">

function myFunction()

{ var x="",i=0;

while (i<5){

x=x + "<p>The number is " + i + "</p>";

i++;

}

document.getElementById("myParagraph").innerHTML=x;

}

</script>

</body>

</html>

ตวด าเนนการของจาวาสครปต (Arithmetic

Operators)

ตวด าเนนการ ค าอธบาย ตวอยาง ผลลพธ x คาของ y+ บวก x=y+2 7 5- ลบ x=y-2 3 5* คณ x=y*2 10 5/ หาร x=y/2 2.5 5% โมดเลชน(หารเอาเศษ) x=y%2 1 5++ เพมคาทละ 1 x=++y 6 6

x=y++ 5 6-- ลดคาทละ 1 x=--y 4 4

x=y-- 5 4

ตวอยางการใชตวด าเนนการของจาวาสครปต

(game5-28.html)

<body>

i = 4

<p id="myParagraph1">++i</p>

<p id="myParagraph2">--i</p>

<p id="myParagraph3">i+=1</p>

<p id="myParagraph4">i*=2 </p>

<p id="myParagraph5">6/3</p>

<p id="myParagraph6">9%2</p>

<button onclick="myFunction()"> Run</button>

<script>

function myFunction()

{

var i=4;

document.getElementById("myParagraph1").innerHTML="++i = "+(++i);

document.getElementById("myParagraph2").innerHTML="--i = "+(--i);

document.getElementById("myParagraph3").innerHTML="i+=1 ="+(i+=1) ;

document.getElementById("myParagraph4").innerHTML="i*=2 = "+(i*=2) ;

document.getElementById("myParagraph5").innerHTML="6/3 = "+(6/3);

document.getElementById("myParagraph6").innerHTML="9%2 = "+(9%2);

}

</script>

</body>

การเปรยบเทยบคา

ก าหนดให x มคาเทากบ 5ตวแปร ค าอธบาย การเปรยบเทยบ ผลลพธ

== เทากบ x==8 FALSEx==5 TRUE

=== เทากบ (คาและชนดของตวแปร) x===”5” FALSEx===5 TRUE

!= ไมเทากบ x!=8 TRUE!== ไมเทากบ (คาและชนดของตวแปร) x!==”5” TRUE

x!==5 FALSE> มากกวา x>8 FALSE< นอยกวา x<8 TRUE

>== มากกวาเทากบ x>=8 FALSE<== นอยกวาเทากบ x<=8 TRUE

ตวอยางการใชการเปรยบเทยบคา

(game5-29.html)

<!DOCTYPE html>

<html><meta charset="utf-8">

<body>

<p>a = 10, b=5, c=15</p>

<p id="myID1"></p>

<p id="myID2"></p>

<script type="text/javascript">

var a = 10;

var b = 5;

var c= 15;

var d;

var e;

if (a>=b){

d="a is more than b";

}

if (a<=c){

e="a is less than c";

}

document.getElementById("myID1").innerHTML= d;

document.getElementById("myID2").innerHTML=e;

</script>

</body>

</html>

ตวด าเนนการทางตรรกะ

ก าหนดให x=6 ,y=3ตวด าเนนการ ค าอธบาย ตวอยาง

&& และ (x<10 && y>1) is true|| หรอ (x==5 || y==5) is false! ไม !(x==y) is true

ตวด าเนนการทางตรรกะ

(game5-30.html)<script type="text/javascript">

var a = 15;

var b = 5;

var c= 10;

if (a>=b && a>=c){

alert("a is highest");

}

</script>

เมธอดทางคณตศาสตรทส าคญ

เมธอด Math.floor()

เปนค าสงทใชส าหรบการปดเศษลง เชน Math.floor(1.2)=1,Math.floor(1.6)=1 เปนตน(game5-31.html)<!DOCTYPE html>

<html>

<body>

<p id="myParagraph1">Floor(1.2)</p>

<p id="myParagraph2">Floor(1.5)</p>

<p id="myParagraph3">Floor(-1.1)</p>

<p id="myParagraph4">Floor(-1.5)</p>

<button onclick="myFunction()"> Run</button>

<script>

function myFunction()

{

var a=Math.floor(1.2);

var b=Math.floor(1.5);

var c=Math.floor(-1.1);

var d=Math.floor(-1.5);

document.getElementById("myParagraph1").innerHTML="Floor(1.2) = "+a ;

document.getElementById("myParagraph2").innerHTML="Floor(1.5) = "+b;

document.getElementById("myParagraph3").innerHTML="Floor(-1.1) = "+c ;

document.getElementById("myParagraph4").innerHTML="Floor(-1.5) = "+d ;

}

</script>

</body>

</html>

เมธอด Math.round()

เปนค าสงทใชส าหรบการปดเศษตามทศนยม ถาทศนยมนอยกวา 5 จะปดเศษลง แตถามากกวาหรอเทากบ 5 จะปดเศษขน เชน Math.round(1.4)=1, Math.round(1.5)=2 เปนตน

(game5-32.html)<!DOCTYPE html>

<html>

<body>

<p id="myParagraph1">Round(1.2)</p>

<p id="myParagraph2">Round(1.5)</p>

<p id="myParagraph3">Round(-1.1)</p>

<p id="myParagraph4">Round(-1.5)</p>

<button onclick="myFunction()"> Run</button>

<script>

function myFunction()

{

var a=Math.round(1.2);

var b=Math.round(1.5);

var c=Math.round(-1.1);

var d=Math.round(-1.5);

document.getElementById("myParagraph1").innerHTML="Round(1.2) = "+a ;

document.getElementById("myParagraph2").innerHTML="Round(1.5) = "+b;

document.getElementById("myParagraph3").innerHTML="Round(-1.1) = "+c ;

document.getElementById("myParagraph4").innerHTML="Round(-1.5) = "+d ;

}

</script>

</body>

</html>

เมธอด

เมธอด Math.rondom() เปนค าสงหาสมคา เชน ระหวาง 0 ถง 1

เมธอด Math.sqrt() เปนค าสงหาคา square root เชน Math.sqrt(4)=2, Math.sqrt(3)=1.732 เปนตน(game5-33.html)

<!DOCTYPE html>

<html><meta charset="utf-8">

<body>

<p id="myParagraph1">Math.random()</p>

<p id="myParagraph2">Random จ านวน ระหวาง 1 ถง 10</p>

<p id="myParagraph3">Random จ านวน ระหวาง 6 ถง 10</p>

<p id="myParagraph4">Square root of 4 </p>

<p id="myParagraph5">Square root of 3 </p>

<button onclick="myFunction()"> Run</button>

<script>

function myFunction()

{

var a=Math.random();

var b=Math.floor((Math.random()*10))+1;

var c=Math.floor((Math.random()*5))+6;

var d=Math.sqrt(4);

var e=Math.sqrt(3);

document.getElementById("myParagraph1").innerHTML="Math.random() = "+a ;

document.getElementById("myParagraph2").innerHTML="Random จ านวน ระหวาง 1 ถง 10 = "+b;

document.getElementById("myParagraph3").innerHTML="Random จ านวน ระหวาง 6 ถง 10 = "+c ;

document.getElementById("myParagraph4").innerHTML="Square root of 4 = "+d ;

document.getElementById("myParagraph5").innerHTML="Square root of 3 = "+e ;

}

</script>

</body>

</html>

การเขยนฟงกชน (Function)

ในการค านวณหรอวาดรปซ าๆ เราสามารถลดการเขยนโคดใหสนลงดวยการเขยนฟงกชนการท างาน เชน ฟงกชนการวาดฉากหลง ฟงกชนการวาดตวละครหลก แลวทากรเรยกใชเมอเราตองการ

จาวาสครปตจะแตกตางกบการเขยนฟงกชนในภาษาอน ตรงทนกพฒนาไมตองระบวา จะ Return คาเปนตวแปรชนดอะไร ทงนกเพอความคลองตวในการเขยนโคด แตในทางกลบกนผ เขยนควรระวงในการใชงาน เพราะเราตองทราบชนดของตวแปรดวยตนเอง

Function ไมมการ Return

Function ไมมการ Return คา เชน ฟงกชนการแสดงขอความเตอน

(game5-34.html)<!DOCTYPE html>

<html><meta charset="utf-8">

<body>

<script type="text/javascript">

printHello();

function printHello(){

alert("Hello");

}

</script>

</body>

</html>

Function มการ Return

Function มการ Return เชน ฟงกชนการหาผลคณ(game5-35.html)<!DOCTYPE html>

<html><meta charset="utf-8">

<body>

<p id="myParagraph"></p>

<script type="text/javascript">

document.getElementById("myParagraph").innerHTML=myF

unction(4,3);

function myFunction(a,b)

{

return a*b;

}

</script>

</body>

</html>

การเขยนฟงกชนส าหรบเปลยนรป (Swapping Images)

สามารถใชภาษาจาวาสครปตเปลยน หรอสลบรปบนเวบเพจของเรา ในตวอยางนจะเปนรปหลอดไปสองสถานะ คอ เปดและปด เมอผใชงานเอาเมาสวางไวทรปฟงกชน swappingImage จะเรมการท างานโดยจะท าการสลบรปจากปดเปดไฟ และเมอเราลากเมาสออกจากบรเวณรปฟงกชน initialImage จะท างานโดยการเปลยนรปกลบไปยงสถานะเรมตน

(Swapping Images)

(game5-36.html)

<!DOCTYPE HTML>

<html>

<head>

<meta charset="utf-8">

</head>

<p></p>

<body>

<img id="myPic" src="light1.png" onMouseOver="swappingImage()"

onMouseOut="initialImage()" width="50" height="100">

<script>

var pic=document.getElementById("myPic");

function swappingImage(){

pic.src ="light2.png";

}

function initialImage(){

pic.src ="light1.png";

}

</script>

</body>

</html>

การใช Pre-loading ของ Image

การใช Image Pre-loading ซงประกอบดวย 2 ขนตอน ดงน

ขนตอนท 1 การประกาศวตถใหเบราเซอรทราบ (create image object) ดวยค าสง

var ชอตวแปรรป=new Image();

var= ชอตวแปรรป = new Image(ความกวางของรป, ความสงของรป);

เบราเซอรจะท าการเตรยมหนวยความจ าส าหรบแสดงผลดวยขนาดของความกวางและความสงของรปทระบ

ขนตอนท 2 อางองทอยของรปภาพทเราตองการใช

ชอตวแปรรป.src=”ไฟลรป”;

Pre-loading ของ Image

(game5-37.html)

<!DOCTYPE HTML>

<html>

<head>

<meta charset="utf-8">

</head>

<p></p>

<body>

<img id="myPic" src="light1.png" onMouseOver="swappingImage()" onMouseOut="initialImage()"

width="50" height="100">

<script>

var pic=document.getElementById("myPic");

var img = new Image();

img.src ="light2.png";

function swappingImage(){

pic.src =img.src;

}

function initialImage(){

pic.src ="light1.png";

}

</script>

</body>

</html>

การเกบขอมล (Storage Data)

HTML5 สามารถเกบขอมลไวทเครองของผใชงานไดทเบราเซอรของผใชงานผาน localstorage และ sessionStorage ซงมขอแตกตางดงน localstorage สามารถเกบขอมลไวตลอดไมมวนหมดอายแมจะปดเบราเซอรไปแลว ซงเราสามารถอางองตวแปรชนดนไดดวยการพมพ localStroage ตวแปร

การเกบขอมล (Storage Data)

(game5-38.html)<html>

<head><meta charset="utf-8">

<script>

function clickSetCounter()

{

localStorage.clickcount=0;

}

function clickCounter()

{

localStorage.clickcount=Number(localStorage.clickcount)+1;

document.getElementById("result").innerHTML="You have clicked the button " +

localStorage.clickcount + " time(s).";

}

</script>

</head>

<body>

<p><button onclick="clickSetCounter()" type="button">Set localStrorage to 0</button></p>

<p><button onclick="clickCounter()" type="button">Increasing value</button></p>

<p id="result"></p>

</body>

</html>

การเกบขอมล (Storage Data)

ในสวนของตวแปรรปแบบ sessionStorage จะสามารถเกบขอมลไดจนกวาผใชงานจะปดเบราเซอรเทานน เราสามารถเรยกใชตวแปรชนดนไดโดยการพมพ sessionStorage.ตวแปร

(game5-39.html)

<!DOCTYPE html>

<html>

<head><meta charset="utf-8">

<script>

function clickSetCounter()

{

sessionStorage.clickcount=0;

}

function clickCounter()

{

sessionStorage.clickcount=Number(sessionStorage.clickcount)+1;

document.getElementById("result").innerHTML="You have clicked the button " + sessionStorage.clickcount + " time(s).";

}

</script>

</head>

<body>

<p><button onclick="clickSetCounter()" type="button">Set localStrorage to 0</button></p>

<p><button onclick="clickCounter()" type="button">Increasing value</button></p>

<p id="result"></p>

</body>

</html>

การเปลยนหนาเวบเพจ (Redirecting visitors to other pages)

ถาการพฒนาเกมประกอบดวยหลายเวบเพจ (หลายไฟล) โดยแตละหนาแสดงสวนตางๆ ของเกม เชน หนาเมน หนาวธการเลน หนาตวเกม ฯลฯ โดยปกตแลว เราสามารถเปลยนเพจไดดวยป มกด แตบางครงเรากจ าเปนตองเปลยนหนาเพจโดยอตโนมตดวยการท า redirecting ดวยค าสง window.localtion=”หนาเพลทตองการ.html”

การเปลยนหนาเวบเพจ (Redirecting visitors to other pages)

(game5-40.html)<!DOCTYPE HTML>

<html>

<head>

<meta charset="utf-8">

<title>Redirecting</title>

</head>

<body>

<script type="text/javascript">

alert("Redirect to game5-1.html");

window.location = "game5-1.html";

</script>

</body>

</html>

window.close()

สามารถสงการปดหนาตางบนเบราเซอรแสดงผลดวยเมธอด window.close()

(game5-41.html)<body>

<input type="button" value=" Close a window"

onclick="closemywindow()" />

<script>

function closemywindow(){

window.close();

}

</script>

</body>

Timing Events

ภาษาจาวาสครปตสามารถสงการท างานดวยการก าหนดเวลาให Execute ฟงกชนผานเมธอดทส าคญสองตว ไดแก

Setlnterval()-executes ฟงกชนแบบวนซ ำตำมเวลำทก ำหนด

setInterval(“ฟงกชนทตองการเรยกใช”,เวลาหนวยมลลวนาท);

setTimeout()-executes ฟงกชนทำนหลงจำกเวลำทก ำหนด

setTimeout(“ฟงกชนทตองการเรยกใช”, เวลาหนวยมลลวนาท);

Timing Events

สามารถยกเลกการท างานของฟงกชนดวยค าสง clearInterval() และ clearTimeout()

(game5-42.html)<!DOCTYPE html>

<html><meta charset="utf-8">

<body>

<script type="text/javascript">

var timing =setInterval(printHello,1000);//ท างานทก 1 วนาทโดยการเรยกใชฟงกชนprintHello

var amount=0;

function printHello(){

alert("Hello : round : "+amount);

amount+=1; //ทกรอบของการแสดงผล คา amount จะเพมทละ 1if (amount==4){// ถา amount มคาเทากบ 4

clearInterval(timing);//ยกเลกการวนซ า}

}

</script>

</body>

</html>

Timing Events

(game5-43.html)

<html><meta charset="utf-8">

<body>

<p>เมอคลกปม เรม ผานไป 3 วนาท บราวเซอรจะ Alert "Hello"</p>

<p>เมอคลกปม หยด บราวเซอรจะยกเลกการค าสง Alert </p>

<button onclick="setTimeoutFunction()">เรม</button>

<button onclick="clearTimeoutFunction()">หยด</button>

<script type="text/javascript">

function setTimeoutFunction()

{

timing = setTimeout(function(){alert("Hello")},3000);

}

function clearTimeoutFunction()

{

clearTimeout(timing);

}

</script>

</body>

</html>

การจดเกบไฟลไวตามหมวดหม

ไฟลทใชสรางเกมประกอบดวยหลายประเภท เชน ภาพ เสยง HTML จาวสครปต ดงนน เราจงจ าเปนตองมการเกบไฟลทเปนระบบเพองายตอการแกอางอง โดยเราจะเกบไฟลนามสกล html ไวภายนอกสดของโฟลเดอร และจดเกบไฟลรปภาพไวในโฟลเดอรชอ images สวนไฟลเสยงจดเกบไวในโฟลเดอร sounds สวนทเปนภาษาจาวาสครปตใหจดเกบไวในโฟลเดอรชอ js เพองายตอการเรยกใช ดงรป