日期:2014-05-16 浏览次数:20470 次
前两讲我告诉了大家如何使人物移动,那么今天我们就来看看如何实现仿《三国志曹操传》人物情景对话。具体的链接我写在下方。
用Javascript开发《三国志曹操传》-零部件开发(一)-让静态人物动起来
http://blog.csdn.net/yorhomwang/article/details/7984576
用Javascript开发《三国志曹操传》-零部件开发(二)-让目标人物移动
http://blog.csdn.net/yorhomwang/article/details/8007871
相信大家都还记得吧,在某些新闻里会有一些惨不忍睹的结果是用像打字机一样的方式把文字弄出来。那么今天的主要目的就是要办到这个。
就在9月5日的时候,我在办公室里起了个做这种程序的念头,并且有了点思路。我首先想用调margin的方法,按理说是作出来了,但很不让人满意,毕竟很麻烦,并且技术也差。所以我打算用上数组和循环。9月13日我抽空写出来了,但由于这几天很忙,基本上在工作日不可能来照顾我的博客,因此没来得及分享给大家,现在是周末,所以就来给大家交流经验,希望我们共同进步。
var contentout = []; var content = "ducle, ducle, ducle, ducle..."; contentout = content.substring(0, content.length); var sub = 0; var time = 0; function input(){ for(i = 0; i < contentout.length; i++){ setTimeout("document.getElementById('ID_P_CONTENT').innerHTML+= contentout[sub], sub += 1", time); time += 100; } }我就用了这点代码作出了意想不到的结果。哈哈,虽然形容有点夸张,但真的使我如愿以偿。话不多说,接下来看看解析。
var contentout = []; var content = "ducle, ducle, ducle, ducle..."; contentout = content.substring(0, content.length); var sub = 0; var time = 0;这里我进行了定义全局变量。首先是定义了数组,毕竟数组和循环是这个程序的核心。接着我定义了字符号串,并将内容设定为:“ducle, ducle, ducle, ducle...” 接下来就是要让字符一个一个跑到数组里了。因此我用到了函数substring(),这个函数就是专门把字符串切开成一个一个的字符的。
function input(){ for(i = 0; i < contentout.length; i++){ setTimeout("document.getElementById('ID_P_CONTENT').innerHTML+= contentout[sub], sub += 1", time); time += 100; } }这里就是专门用循环挨个输出数组里的元素的核心部分。大家都知道javascript循环最烦人的——就是变量是先循环完。意思就是如果说:你把这里的变量i 每次循环时用alert打出来,那无论什么时候都是一个值,且都等于最大值。因此在上面我定义的sub变量就起了作用。