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

请您先登录,才能继续操作

简单模拟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中的大公鸡动画效果。这个项目可以帮助开发者了解和学习如何用代码来实现动态图形,特别是对于...

    Google粘土动画Doodle代码

    【Google粘土动画Doodle代码】是Google为了庆祝或纪念某个特殊事件或人物,而特别设计的一种互动式Logo,通常会在Google主页上展示。这些Doodles不仅富有创意,还经常包含一些趣味性的交互元素,例如这次提到的粘土...

    2011google圣诞节doodle源码

    标题 "2011google圣诞节doodle源码" 指的是谷歌在2011年圣诞节期间在其首页上展示的特殊Logo,也就是Doodle的编程代码。Doodle是Google为了纪念节日、重要人物或事件而设计的特殊Logo,通常会以互动或动画的形式呈现...

    Doodle Jump 源代码

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

    Google创意动画Doodle代码.zip

    【Google创意动画Doodle代码】是一个集合了JavaScript特效与图片相册展示的项目,它展示了谷歌如何用富有创意的方式庆祝特殊事件或纪念日。在这个压缩包中,我们有以下几个关键文件: 1. **说明.htm**:这个文件...

    Doodle

    【Doodle】是一种独特的字体设计风格,它通常包含手绘、涂鸦或卡通元素,为文本增添了一种轻松、随性和创意的视觉效果。在IT领域,Doodle字体被广泛应用于各种图形设计、网站设计、应用程序界面(UI)以及数字营销...

    Google首页电吉他Doodle源码

    标题 "Google首页电吉他Doodle源码" 涉及的是Google在其首页上展示的一款特别设计的互动式电吉他动画,通常称为"Doodle"。Doodles是Google为了纪念重要人物、事件或节日而制作的创意搜索logo。在这个特定的Doodle中...

    google-doodle:我的Google Doodle

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

    Doodle Jump源代码

    Doodle Jump是一款深受玩家喜爱的跳跃类游戏,以其简单易上手的操作和无尽的挑战性而闻名。在这个项目中,我们将深入探讨如何使用C++语言实现这款经典游戏。通过分析源代码,我们可以学习到C++在游戏开发中的应用,...

    js写的doodle-library

    《JS实现的Doodle Library:在Canvas上的绘图探索》 在现代网页开发中,JavaScript是一种不可或缺的语言,它为开发者提供了丰富的功能,特别是在人机交互领域。本项目“js写的doodle-library”就是一个很好的例子,...

    Google粘土动画Doodle代码.zip

    在Google粘土动画Doodle中,jQuery可能被用于绑定事件处理器,当用户与Doodle交互时触发相应的动画或行为。此外,jQuery的动画函数可以帮助开发者轻松创建平滑的动画序列,无需处理复杂的计时和帧率问题。 总结来说...

    Google首页电吉他Doodle源代码

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

    All Doodle games-1.0.zip

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

    C++ Doodle Jump源码

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

    前端项目-css-doodle.zip

    【前端项目-CSS Doodle】是一个创新的Web组件,它为开发者提供了一种利用CSS来绘制复杂图案的强大工具。这个项目的核心在于通过CSS的灵活性和创造性,让开发者能够设计出富有艺术感和个性化的图形。在本文中,我们将...

    模拟谷歌20110510使用的css动画

    标题中的“模拟谷歌20110510使用的css动画”指的是谷歌在2011年5月10日这一天在其首页上展示的一个特别的Logo设计,这个Logo使用了CSS动画技术来增强视觉效果。在那个时期,谷歌经常会为了纪念特定事件、人物或节日...

    doodle

    谷歌Doodles不仅仅是简单的Logo替换,它们经常包含互动元素,有时甚至是一个小游戏,增加了用户与谷歌搜索首页的互动性。 【描述】虽然描述内容为"doodle",但没有提供足够的信息来详细阐述具体知识点。通常,...

Global site tag (gtag.js) - Google Analytics