Autor | Zpráva | ||
---|---|---|---|
anonymous Profil |
#1 · Zasláno: 15. 5. 2008, 16:49:53
(ked kliknem na nejake okienko na nejake miesto sa zobrazi cukrik a nejaky panacik ide za nim)
nasiel som si kodik: <style type="text/css"> body {font-size:80%;font-family:Verdana,Arial,Helvetica,Sans-serif,Sa ns;margin:0;padding:0} .hlav {background:#b0eaff;border-bottom:1px solid #80b0cc;color:#0060b0;text-align:center} .hlav sub {display:block} .hlav a {padding:0 2px;color:#00a000} .hlav a:hover {background:#b0e480;text-decoration:none} .telo {padding:6px} pre {font-size:110%} #xpole {position:relative;width:400px;height:300px;background:#e4f5e4 ;border:2px solid #00b000;margin:0 auto} #xpole img {position:absolute} #c0 {top:-18px} body {overflow:hidden} </style> <script type="text/javascript"><!-- Begin function objGet(x) {if (typeof x=='string') with (document){ if (Boolean(getElementById)) x=getElementById(x); else if (Boolean(all)) x=eval('all.'+x); else if (Boolean(layers)) x=layers[x]; else x=null;}return x;} function obji(x,z) {objGet(x).innerHTML=z} function objxy(z,x,y) {z=objGet(z).style;z.left=x+"px";z.top=y+"px"} function objsrc(x,z) {objGet(x).src="player"+z+".gif"} // --- lovec cukriku --- var x0=100; var y0=100; var rx0=30; var ry0=30; var zx,zy; var rmin=4; var myskaX=0; var myskaY=0; var pi = Math.PI; var pi2= pi*2; var spoctiz=false; var xpos=[];xpos[0]=x0; var ypos=[];ypos[0]=y0; function movexx() {var j,a,b,r, c,d,e,f,z; with (Math) { c=xpos[0]; d=ypos[0]; a=x0-c; b=y0-d; j=atan(b/a)+(a<0?1:0)*PI; a=abs(a); b=abs(b); f=(a>b)?a:b; r=(f<rmin)?f:rmin; c+=round(r*cos(j)); d+=round(r*sin(j)); objxy("b0",c,d); if (spoctiz){ f=-pi2/8;e=pi2/4;z=3; f+=e;if(j>f)z=0; f+=e;if(j>f)z=1; f+=e;if(j>f)z=2; f+=e;if(j>f)z=3; objsrc("b0",z); spoctiz=false; } xpos[0]=c; ypos[0]=d; e=rmin+1; if (a<e && b<e) {objxy("c0",0,-18);objsrc("b0",0);hodinyStop();}else hodinyStart(); } } function activemove() {hodinyStop(); x0=myskaX;y0=myskaY;objxy("c0",x0-18,y0-8); x0=(x0<x0-rx0)?x0:x0-rx0;y0=(y0<y0-ry0)?y0:y0-ry0; spoctiz=true; hodinyStart();} // --- hodiny --- var timerID = null; var tspeed = 70; function hodinyStop() {clearTimeout(timerID)} function hodinyStart() {timerID=window.setTimeout("hodiny()",tspeed)} function hodiny() { hodinyStop(); movexx(); } function myska(e) { if (!e) {var e=window.event} if (e.pageX || e.pageY) {myskaX=e.pageX; myskaY=e.pageY} else if (e.clientX || e.clientY) with (document.body) {myskaX=e.clientX+scrollLeft; myskaY=e.clientY+scrollTop} } document.onmousemove=myska; function init() { objxy("b0",xpos[0],ypos[0]); } // End --></script> ako urobit, aby sa ten cukrik zobrazil tam, kde kliknem myskou? |
||
peta Profil |
#2 · Zasláno: 16. 5. 2008, 08:27:35 · Upravil/a: peta
anonymous
http://www.volny.cz/peter.mlich/Pr/efekty/lovec/ problem je v tom, ze jsi si podstatnou cast kodu nechal pro sebe, takze ti nemuze pomoci nikdo. :) <div onclick="activemove()" id="xpole"> To je to podstatne, ktere rika, co se spousti na onclick. x0=myskaX;y0=myskaY;objxy("c0",x0-18,y0-8); objxy("c0",x0-18,y0-8); = umisteni bombonu Samozrejme by to mel davat na misto, bohuzel FF2/IE7 asi zmenil javascript, takze to chybne odecita souradnice mysi. Zkus vyradit doctype <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> Jinak bys musel najit nejaky script, ktery odecita souradnice mysi spravne i po zmenach v prohlizecich: http://www.volny.cz/peter.mlich/Pr/efekty/ http://www.volny.cz/peter.mlich/Pr/efekty/elastictrail.htm // mouse position function MoveHandler(e) { Xpos = e.pageX; Ypos = e.pageY; return true; } function MoveHandlerIE() { Xpos = window.event.x + body.scrollLeft; Ypos = window.event.y + body.scrollTop; return true; } if (isNetscape) { if (document.layers) {document.captureEvents(Event.MOUSEMOVE);} document.onmousemove = MoveHandler; } else { document.onmousemove = MoveHandlerIE; } smazes: function myska(e) { if (!e) {var e=window.event} if (e.pageX || e.pageY) {myskaX=e.pageX; myskaY=e.pageY} else if (e.clientX || e.clientY) with (document.body) {myskaX=e.clientX+scrollLeft; myskaY=e.clientY+scrollTop} } document.onmousemove=myska; opravis: x0=myskaX;y0=myskaY;objxy("c0",x0-18,y0-8); na: x0=Xpos;y0=Ypos;objxy("c0",x0-18,y0-8); A moznost B, ze to chybne zapisuje pozici a je treba to mozna ohranicit dalsim prvkem s position:relative; |
||
Časová prodleva: 16 let
|
0