`
BuN_Ny
  • 浏览: 82665 次
  • 来自: 济南
社区版块
存档分类
最新评论

简单模拟Google的大马跑啊跑的Doodle

 
阅读更多

Google今天的Doodle挺好玩的,主要是图做的给力呀!照着做了一个,没像Google那样做很细致的判断及比较复杂的浏览器兼容性处理,但是效果是完全有的!

 

DOM灰常简单:

 

<div id="horse">
  <div id="run"></div>
  <div id="bg"></div>
</div>

 JavaScript也很简单:

 

(function(){
  var a, e = c = 0, f = 1, stop = false;
  var horse = document.getElementById('horse');
  var run = document.getElementById('run');
  var runFn = function(){
    var d = c % 67;
    if(f < 63){
      f = f*1.05;
    }else if(d>0 && d<4){
      f = 67;
      c = c-d;
    }
    c = (c+f) % 804;
    horse.style.backgroundPosition = -c+"px 0";
    if(e<67){
      e = e+f;
      run.style.backgroundPosition = horse.style.backgroundPosition;
    }
    a = window.setTimeout(runFn, 41);
  };
		  
  horse.onmousedown = function(){
    run.style.marginTop = '2px';
  };
  horse.onmouseup = horse.onmouseout = function(){
    run.style.marginTop = '';
  };
		  
  horse.onclick = function(){
    if(!stop){
      runFn();
    }else{
      window.clearTimeout(a);
      window.location = window.location;
    }
    stop = !stop;
  };
})();

 好像没什么好特别解释的,这种简单的实现,20分钟可以搞定啊~

 

 

 

 

==============================================================

还真有人研究。。。荣幸啊。。。

图的width是804,共12个图, 804/12=67,

另外人的视觉暂留是0.1~0.4s,一般动画、电影是二十四分之一秒一帧,也就是41ms。

 

 

4
0
分享到:
评论
8 楼 johnnycmj 2012-05-10  
膜拜啊....
7 楼 northc 2012-04-13  
20分钟  ..  没有那么深厚的功力  表示研究了很久.....
6 楼 zhengjie_dna 2012-04-11  
写的不错!!!
5 楼 cgret 2012-04-11  
汗,自己研究了两个小时左右
首先是样式的编写
然后拆分js脚本,将主要跑马灯方法runFun()跟其他效果分开
单单这个runFun方法里面计算的方式就弄了好久
方法主体就设置图片的position属性
var d=c%67;是说明每个c的偏移量?
if(f<63){
  f=f*1.05;是说起始增量吗,当增量速度达到63之后不再增加
}else if(d>0&&d<4){//当增量率达到63的峰值时,强制为图片滚动,能够展示出动画效果,如果此处去掉,会有种串屏的感觉。。。
  f=67;//增量率强制设定为格子偏移
  c=c-d;//把每个格子更正为0;
}
c=(c+f)%804;//分以上两种方式去滚动
horse.style.backgroundPosition=-c+'px';偏移量
再次汗~
考虑的东西蛮多的
4 楼 BuN_Ny 2012-04-11  
cheney_love 写道
LZ 自己做的图?

3 楼 carlzhao531 2012-04-11  
好强啊...膜拜~
2 楼 kingcs 2012-04-10  
好强啊  
1 楼 cheney_love 2012-04-10  
LZ 自己做的图?

相关推荐

    Google粘土动画Doodle代码

    Google粘土动画Doodle代码,挺好玩的,好东西!绝对的!

    简单模拟Google感恩节的大公鸡Doodle

    NULL 博文链接:https://bun-ny.iteye.com/blog/1278540

    Doodle

    Doodle

    Google创意动画Doodle代码.zip

    Google创意动画Doodle代码

    2011google圣诞节doodle源码

    2011年google圣诞节doodle源码

    google-doodle:我的Google Doodle

    我的主题Google Doodle关于您的Google Doodle的50多个字词。我正在制作一个带有熊猫的Google Doodle。我还没有为Google Doodle制定最终的计划。它可能是lofi学习图像的仿冒品,也可能是动画熊猫,有一定几率出现白化...

    Doodle Jump 源代码

    Doodle Jump 源代码,需要的请下载,Doodle Jump 是 app store排名前20的游戏,与之前发放的tiny wings一样,有需要参考的下载吧,放出两个链接: Doodle Jump: ...

    Doodle Jump源代码

    使用C++实现Doodle Jump

    Google首页电吉他Doodle源码

    Google首页电吉他Doodle源码 html css

    Google首页电吉他Doodle源代码

    为了纪念电吉他之父莱斯·保罗(Les Paul,1915年6月9日-2009年8月13日)诞辰96周年,Google Doodle又出神作,首页的Logo被设计成一个电吉他形,并且鼠标滑过会弹出美妙的音乐,当你按下键盘图标时,还可以直接用...

    All Doodle games-1.0.zip

    如果您是GoogleDoodle游戏的粉丝,那么将GoogleDoodle制作的所有游戏聚合到一个地方的扩展程序对您来说可能是一个方便的工具。通过此扩展,您可以回到过去并玩针对特定事件的爱和关怀制作的游戏。游戏集合始终是最新...

    js写的doodle-library

    刚做完的人机交互js实验。。。有武大国软的孩纸么? 主要的实现代码在doodle-library.js中 提供了两个test.js和一个utils.js 实现了通过js在canvas上绘图的一些功能

    doodle

    doodle

    Google粘土动画Doodle代码.zip

    Google粘土动画Doodle代码.zip

    C++ Doodle Jump源码

    这是一款益智类,考验反应力和决断力的游戏,游戏名叫Doodle Jump。玩家控制小人,小人是不断往上跳的,玩家需要控制它不让它掉落下去,并找板子让小人跳的更高。跳的越高得分越多,但越到后面板子越稀少,同时还有...

    Doodle+Bubble

    Doodle+Bubble老版本软件,体验很不错。

Global site tag (gtag.js) - Google Analytics