Home >Web Front-end >JS Tutorial >Component development of 'Three Kingdoms Cao Cao' in javascript game development (2) Realization of character walking_javascript skills

Component development of 'Three Kingdoms Cao Cao' in javascript game development (2) Realization of character walking_javascript skills

WBOY
WBOYOriginal
2016-05-16 17:42:571588browse

In the last lecture, we talked about how to make static characters dynamic. Today we will talk about how to make characters move. Because this lecture involves the content of the previous lecture, I wrote the link to the previous lecture below:

1. Picture preparation

Today I am going to change some pictures to make them fresher.


These materials still come from "The Biography of Cao Cao in the Three Kingdoms". If I remember correctly, they should be Cao Cao's materials. Next, I will combine the techniques from the last time to tell you how to make the characters move. But today we focus on how to make characters move, because we have already talked about how to make characters move from static to dynamic in the previous lecture.

2. Code explanation

First look at the overall javascript code:
Copy the code Code As follows:

var moveLengthLeft = 0;
var moveLengthTop = 0;

var actionST = 0;

var timeInterval = 150;

var pic = 0;

function action()
{
var pic1 = "./pic2.png";
var pic2 = "./pic3.png";
var pic3 = "./pic1.png";
var actionArray = [pic1, pic2, pic3];

var doc = document.getElementById("ID_IMG_CAOCAO");

if (pic == actionArray.length - 2){
pic = 0;
}else{
pic = 1;
}

if(pic > 2) {
pic = 2;
doc.src = "./pic1.png"
}

doc.src = actionArray[pic];
}

function walk()
{
setInterval(action, timeInterval);

for(var i = 0; i < 100; i ){
$("#ID_IMG_CAOCAO") .animate({marginLeft: moveLengthLeft}, 10, function(){ //Use animate in jquery to control the character's walking
actionST ;

if(actionST == 100){
standCaocao( );
}
}); // Call the callback when the animation is completed. You can put functions in callback.

$("#ID_IMG_CAOCAO").animate({marginTop: moveLengthTop}, 10);

moveLengthLeft = 2;
moveLengthTop = 1;
}
}

function standCaocao()
{
pic = 2;
}

The local analysis is as follows:
Copy code The code is as follows:

function action()
{
var pic1 = "./pic2.png";
var pic2 = "./pic3.png";
var pic3 = "./pic1.png";
var actionArray = [pic1, pic2, pic3];

var doc = document .getElementById("ID_IMG_CAOCAO");

if (pic == actionArray.length - 2){
pic = 0;
}else{
pic = 1;
}

if(pic > 2){
pic = 2;
doc.src = "./pic1.png"
}

doc.src = actionArray [pic];
}

I have already mentioned the above code in the previous lecture, so I won’t go into it today and will just talk about how to move the character.

First of all, making objects move undoubtedly requires jquery. Yes, today we are going to use one of its functions: animate.
Look at the code again:
Copy the code The code is as follows:

function walk ()
{
setInterval(action, timeInterval);

for(var i = 0; i < 100; i ){
$("#ID_IMG_CAOCAO").animate( {marginLeft: moveLengthLeft}, 10, function(){ //Use animate in jquery to control the character's walking
actionST ;

if(actionST == 100){
standCaocao();
}
}); // Call callback when the animation is completed. You can put functions in callback.

$("#ID_IMG_CAOCAO").animate({marginTop: moveLengthTop}, 10);

moveLengthLeft = 2;
moveLengthTop = 1;
}
}

These codes can realize the movement and stopping of characters mainly in callback and animate. Callback mainly makes the character stop, and animate mainly makes the character move.

Usually, the syntax of animate is: animate({change of css code}, time to complete, callback);. For details, please see: http://www.jb51.net/w3school/jquery/jquery_effects.htm. There are many other jquery functions here, you can learn more about them.

Of course, animate is obvious, but what about callback? ? ? It turns out it's hidden inside animate.
Copy code The code is as follows:

function(){ //Use animate in jquery to control character walking
actionST;

if(actionST == 100){
standCaocao();
}
}); // Call the callback when the animation is completed. You can put functions in callback.

This code is the callback. It's just that we put his position in the function, so it's not very visible.
Some tutorials on callback: http://www.jb51.net/w3school/jquery/jquery_callback.htm

There is also a string of code:
Copy code The code is as follows:

function standCaocao()
{
pic = 2;
}

This code is mainly used to turn dynamic characters into static characters. After this movement stops, the character's movements disappear.

Source code download: (includes a jquery-1.8.0.js file)

3. Demonstration effect

The first is:


Then:


Finally:


Demo location

4. Postscript

First of all, character walking and movement are essential aspects of game production. Choosing good algorithms and functions is the key to success.
Next time we will study how to use js to imitate the plot dialogue of the characters in "The Legend of Cao Cao" in "Three Kingdoms". Stay tuned!

I hope you will support me more, thank you. I will repay everyone with better articles.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn