Autor Zpráva
anonymous
Profil
(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
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;

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0