Hướng dẫn can you write a game in html? - bạn có thể viết một trò chơi trong html?


Tìm hiểu cách tạo trò chơi, không sử dụng gì ngoài HTML và JavaScript.

Đẩy các nút để di chuyển Quảng trường Đỏ:




Hãy tự mình lấy ví dụ

Với trình chỉnh sửa trực tuyến của chúng tôi, bạn có thể chỉnh sửa mã và nhấp vào nút để xem kết quả.

Thí dụ

function startGame () {& nbsp; & nbsp; myGamePiece = new Dement (30, 30, "Red", 10, 120); & nbsp; & nbsp; mygamePiece.gravity = 0,05; & nbsp; myscore = thành phần mới ("30px", "consolas", "đen", 280, 40, "văn bản"); & nbsp; mygamearea.start ();}
  myGamePiece = new component(30, 30, "red", 10, 120);
  myGamePiece.gravity = 0.05;
  myScore = new component("30px", "Consolas", "black", 280, 40, "text");
  myGameArea.start();
}

var mygamearea = {& nbsp; Canvas: Document.CreateEement ("Canvas"), & nbsp; bắt đầu: function () {& nbsp; & nbsp; & nbsp; this.canvas.width = 480; & nbsp; & nbsp; & nbsp; this.canvas.height = 270; & nbsp; & nbsp; & nbsp; this.context = this.canvas.getContext ("2d"); & nbsp; & nbsp; & nbsp; document.body.insertbefore (this.canvas, document.body.childnodes [0]); & nbsp; & nbsp; & nbsp; this.frameno = 0; & nbsp; }, & nbsp; & nbsp; rõ ràng: function () {& nbsp; & nbsp; & nbsp; this.context.clearrect (0, 0, this.canvas.width, this.canvas.height); & nbsp; }}
  canvas : document.createElement("canvas"),
  start : function() {
    this.canvas.width = 480;
    this.canvas.height = 270;
    this.context = this.canvas.getContext("2d");
    document.body.insertBefore(this.canvas, document.body.childNodes[0]);
    this.frameNo = 0;
  },
  clear : function() {
    this.context.clearRect(0, 0, this.canvas.width, this.canvas.height);
  }
}

Hãy tự mình thử »



Vì vậy, bạn muốn sử dụng kiến ​​thức cơ bản về phát triển web của mình để tạo ra một cái gì đó mát hơn một chút so với ứng dụng việc cần làm. Trò chơi là một trong những dự án tốt nhất bạn có thể tạo, bởi vì chúng rất dễ dàng được người dùng cuối yêu thích và tất cả đều vui vẻ để thực hiện! Có các thư viện JavaScript được tạo sẵn để phát triển trò chơi, nhưng tôi thích tạo ra từ đầu để tôi có thể hiểu mọi thứ hoàn toàn.

Hướng dẫn can you write a game in html? - bạn có thể viết một trò chơi trong html?

Còn trò chơi nào tốt hơn để đại diện cho sự phát triển web hơn trò chơi khủng long Chrome mà bạn chơi khi bạn mất kết nối internet? Nó có một trò chơi thú vị, và nó dễ dàng tạo lại mã. Nó không giống hệt nhau, nhưng nó hoạt động giống nhau. Nếu bạn thực sự muốn, bạn có thể tạo kiểu cho nó khi bạn hoàn thành!

Hướng dẫn can you write a game in html? - bạn có thể viết một trò chơi trong html?

Để bắt đầu mã hóa trò chơi, hãy tạo một thư mục mới trong tài liệu của bạn. Sử dụng trình soạn thảo văn bản yêu thích của bạn để mở thư mục đó, sau đó tạo ba tệp mới và đặt tên cho chúng:

#game{
    width: 500px;
    height: 200px;
    border: 1px solid black;
    margin: auto;
}
0,
#game{
    width: 500px;
    height: 200px;
    border: 1px solid black;
    margin: auto;
}
1 và
#game{
    width: 500px;
    height: 200px;
    border: 1px solid black;
    margin: auto;
}
2. Nó có thể làm mọi thứ trong một tệp với HTML5, nhưng nó có tổ chức nhiều hơn để giữ mọi thứ riêng biệt.

Tệp

#game{
    width: 500px;
    height: 200px;
    border: 1px solid black;
    margin: auto;
}
0 của chúng tôi sẽ rất đơn giản: một khi bạn có bố cục HTML cơ bản, hãy tạo một div với ID
#game{
    width: 500px;
    height: 200px;
    border: 1px solid black;
    margin: auto;
}
4, và sau đó hai div khác bên trong nó với IDS
#game{
    width: 500px;
    height: 200px;
    border: 1px solid black;
    margin: auto;
}
5 và
#game{
    width: 500px;
    height: 200px;
    border: 1px solid black;
    margin: auto;
}
6. Nhân vật sẽ là khủng long, và khối sẽ là cây xương rồng hướng về phía chúng tôi.




    
    Jump Game
    


    

Tiếp theo, đi qua tệp CSS và bắt đầu áp dụng các kiểu cho hai

#game{
    width: 500px;
    height: 200px;
    border: 1px solid black;
    margin: auto;
}
7 mà chúng tôi vừa tạo. Đầu tiên, chúng tôi sẽ bắt đầu với trò chơi
#game{
    width: 500px;
    height: 200px;
    border: 1px solid black;
    margin: auto;
}
7. Chọn phần tử bằng
#game{
    width: 500px;
    height: 200px;
    border: 1px solid black;
    margin: auto;
}
9, được biểu thị bằng biểu tượng băm (
#character{
    width: 20px;
    height: 50px;
    background-color: red;
    position: relative;
    top: 150px; //game height - character height (200 - 50)
}
0).

#game{
    width: 500px;
    height: 200px;
    border: 1px solid black;
    margin: auto;
}

Tiếp theo, chúng tôi tạo kiểu cho nhân vật Div của chúng tôi. Chúng ta phải khai báo ____ 21 & nbsp; là

#character{
    width: 20px;
    height: 50px;
    background-color: red;
    position: relative;
    top: 150px; //game height - character height (200 - 50)
}
2 vì các thuộc tính vị trí như
#character{
    width: 20px;
    height: 50px;
    background-color: red;
    position: relative;
    top: 150px; //game height - character height (200 - 50)
}
3 và
#character{
    width: 20px;
    height: 50px;
    background-color: red;
    position: relative;
    top: 150px; //game height - character height (200 - 50)
}
4 chỉ áp dụng cho các phần tử được định vị.

#character{
    width: 20px;
    height: 50px;
    background-color: red;
    position: relative;
    top: 150px; //game height - character height (200 - 50)
}

Tạo một hình ảnh động KeyFrame gọi là Jump. Hoạt hình này sẽ làm cho vị trí trên cùng trượt lên 50px và sau đó trượt xuống.

@keyframes jump{
    0%{top: 150px;}
    30%{top: 100px;}
    70%{top: 100px;}
    100%{top: 150px;}
}

Tiếp theo, chúng tôi sẽ tạo ra một lớp mới có tên

#character{
    width: 20px;
    height: 50px;
    background-color: red;
    position: relative;
    top: 150px; //game height - character height (200 - 50)
}
5, áp dụng hoạt hình nhảy.

.animate{
    animation: jump 300ms linear;
}

Chúng tôi sẽ sử dụng JavaScript để thêm lớp

#character{
    width: 20px;
    height: 50px;
    background-color: red;
    position: relative;
    top: 150px; //game height - character height (200 - 50)
}
6 vào nhân vật của chúng tôi bất cứ khi nào bạn nhấp vào chuột.

Trong tệp

#game{
    width: 500px;
    height: 200px;
    border: 1px solid black;
    margin: auto;
}
2, tạo một hàm gọi là
#character{
    width: 20px;
    height: 50px;
    background-color: red;
    position: relative;
    top: 150px; //game height - character height (200 - 50)
}
8 thêm lớp
#character{
    width: 20px;
    height: 50px;
    background-color: red;
    position: relative;
    top: 150px; //game height - character height (200 - 50)
}
6 vào ký tự
#game{
    width: 500px;
    height: 200px;
    border: 1px solid black;
    margin: auto;
}
7. Tạo một trình nghe sự kiện lắng nghe cho người dùng nhấp vào, sau đó thực thi chức năng nhảy.

Tạo một chức năng khác gọi là ________ 31 & nbsp; loại bỏ lớp Animate. Sau đó thêm hàm

@keyframes jump{
    0%{top: 150px;}
    30%{top: 100px;}
    70%{top: 100px;}
    100%{top: 150px;}
}
2 & nbsp; vào ________ 28 & nbsp; chạy
@keyframes jump{
    0%{top: 150px;}
    30%{top: 100px;}
    70%{top: 100px;}
    100%{top: 150px;}
}
1 khi hình ảnh động kết thúc. Hoạt hình đã giành chiến thắng chạy lại trừ khi chúng tôi loại bỏ nó.

var character = document.getElementById("character");
document.addEventListener("click",jump);
function jump(){
    character.classList.add("animate");
    setTimeout(removeJump,300); //300ms = length of animation
};
function removeJump(){
    character.classList.remove("animate");
}

Điều này hoạt động, nhưng dường như nó bị trục trặc nếu người dùng nhấp vào trong khi nó hiện đang nhảy. Để khắc phục điều đó, hãy thêm dòng bên dưới vào đầu

#character{
    width: 20px;
    height: 50px;
    background-color: red;
    position: relative;
    top: 150px; //game height - character height (200 - 50)
}
8. Nó sẽ ngăn chặn chức năng làm bất cứ điều gì nếu hoạt hình đang chạy.

if(character.classList == "animate"){return;}

Bây giờ, chúng tôi sẽ quay lại tệp CSS của mình và bắt đầu tạo kiểu cho khối div.

#block{
    width: 20px;
    height: 20px;
    background-color: blue;
    position: relative;
    top: 130px; //game height - character height - block height (200 - 50 - 20)
    left: 480px; //game width - block width (500 - 20)
    animation: block 1s infinite linear;
}

Chúng tôi đã tạo ra hình ảnh động khối, vì vậy hãy tạo một hình ảnh động để làm cho khối trượt từ bên phải sang trái.

@keyframes block{
    0%{left: 500px} 
    100%{left: -20px}
}

Bây giờ chúng tôi có thể nhảy, nhưng chúng tôi phải kết thúc trò chơi nếu chúng tôi tấn công. Tạo một hàm gọi là

@keyframes jump{
    0%{top: 150px;}
    30%{top: 100px;}
    70%{top: 100px;}
    100%{top: 150px;}
}
6 có được vị trí của khối và ký tự, sau đó đánh giá xem chúng có ở trên nhau không. Nếu họ là, sau đó kết thúc trò chơi.

Tạo một biến gọi là

@keyframes jump{
    0%{top: 150px;}
    30%{top: 100px;}
    70%{top: 100px;}
    100%{top: 150px;}
}
7 bằng với giá trị cao nhất của ký tự div.
@keyframes jump{
    0%{top: 150px;}
    30%{top: 100px;}
    70%{top: 100px;}
    100%{top: 150px;}
}
8 sẽ trả về tất cả các giá trị CSS được liên kết với một phần tử và ________ 39 & nbsp; chỉ định thuộc tính bạn muốn giá trị từ.

Bây giờ, điều này sẽ trả về một chuỗi với một giá trị như

.animate{
    animation: jump 300ms linear;
}
0. Chúng tôi chỉ muốn giá trị số, vì vậy chúng tôi sẽ bao bọc mọi thứ bên trong hàm ________ 41 & nbsp; để nó trả về giá trị như một số nguyên.

Tạo một câu lệnh

.animate{
    animation: jump 300ms linear;
}
2 & nbsp; kiểm tra xem giá trị ____ 43 43 có nằm trong khoảng từ -20px đến 20px và giá trị ____ 37 37 lớn hơn 130px. Nếu có, điều đó có nghĩa là họ đã chồng chéo lẫn nhau và trò chơi đã kết thúc. Vì vậy, wlll đặt một cảnh báo
.animate{
    animation: jump 300ms linear;
}
5.

Tạo hàm khoảng & nbsp; chạy hàm

.animate{
    animation: jump 300ms linear;
}
6 cứ sau 10 mili giây.

var block = document.getElementById("block");
function checkDead(){
    let characterTop = parseInt(window.getComputedStyle(character).getPropertyValue("top"));
    let blockLeft = parseInt(window.getComputedStyle(block).getPropertyValue("left"));
    if(blockLeft<20 && blockLeft>-20 && characterTop>=130){
        alert("Game over");
    }
}

setInterval(checkDead, 10);

Bây giờ bạn có một trò chơi đầy đủ chức năng. Đây là một dự án tuyệt vời để chia sẻ với những người không phát triển, bởi vì họ sẽ có thể đánh giá cao hơn những gì bạn đã học được!

Có một liên kết đến GitHub của tôi nếu bạn muốn sao chép mã. Bạn cũng có thể xem video YouTube của tôi nếu bạn học trực quan tốt hơn!

Logrocket: Debug Lỗi JavaScript dễ dàng hơn bằng cách hiểu bối cảnh

Mã gỡ lỗi luôn là một nhiệm vụ tẻ nhạt. Nhưng bạn càng hiểu lỗi của mình thì càng dễ dàng sửa chúng.

Logrocket cho phép bạn hiểu các lỗi này theo những cách mới và độc đáo. Giải pháp giám sát frontend của chúng tôi theo dõi sự tham gia của người dùng với các mặt tiền JavaScript của bạn để cung cấp cho bạn khả năng tìm hiểu chính xác những gì người dùng đã làm dẫn đến lỗi.

Hướng dẫn can you write a game in html? - bạn có thể viết một trò chơi trong html?

Logrocket Records nhật ký bảng điều khiển, thời gian tải trang, ngăn xếp, yêu cầu/phản hồi mạng chậm với các tiêu đề + thân, siêu dữ liệu trình duyệt và nhật ký tùy chỉnh. Hiểu được tác động của mã JavaScript của bạn sẽ không bao giờ dễ dàng hơn!

Hãy thử nó miễn phí.

HTML có tốt cho chơi game không?

Có, HTML, CSS và JavaScript có thể khá tốt để phát triển trò chơi.Một lợi ích lớn của nó là về cơ bản tất cả các thiết bị điện toán có thể chơi các trò chơi được triển khai với JS và HTML.. One big benefit of it is that basically all computing devices can play games implemented with JS and HTML.

Bạn có thể tạo một trò chơi chỉ có HTML và CSS không?

Chỉ với HTML và CSS, bạn chỉ có thể tạo các trò chơi rất cơ bản, với rất ít/tương tác đơn giản ... Thông thường, các trò chơi web sử dụng JavaScript làm động cơ cơ sở ^^ Phaser.io là một khung trò chơi chuyên dụng của JS;) Martin Taylor SpaceWar!Từ năm 1962, lol., with very few/simple interactions... usually, web games uses javascript as base engine ^^ phaser.io is a js dedicated game framework ;) Martin Taylor Spacewar! from 1962, lol.

Trò chơi nào sử dụng mã hóa HTML?

Mục lục..
Chim vụng về ..
Tetris..
HexGL..
TIC Tac Toe..
Pacman..
SĂN VỊT..
mk.js..
Pseudo 3D Racer ..

Làm cách nào để thêm trò chơi vào trang web HTML của tôi?

Thêm trò chơi vào trang web của bạn cũng đơn giản như việc dán mã nhúng.Đặt nó vào giữa các thẻ của tài liệu HTML của bạn, bất cứ nơi nào bạn muốn trò chơi được hiển thị.Thực hiện theo các điều khoản của dịch vụ.Hầu hết các trang web trò chơi có một điều khoản dịch vụ cho các trang web khác nhúng trò chơi của họ.pasting that embed code. Place it in between the tags of your HTML document, wherever you would like the game to be displayed. Follow the terms of service. Most game websites have a terms of service for other websites embedding their games.