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:
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:
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:
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.
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.htmThere is also a string of code:
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.