<!-- ======================================================================
マウス追っかけ3D回転星 Ver.0.04
http://homepage3.nifty.com/masas/sdir/
Copyright(c)2001 Masa, All Rights Reserved.
======================================================================= -->
<script type="text/javascript" language="JavaScript">
<!--
//---------------------------------------------------
// 設定可能なパラメタ(ここから)
//---------------------------------------------------
var IMGNAME = "star.gif" // 画像ファイル名
var MAXSTAR = 6; // 星の数。
var RNDPITCH = 30; // 回転ピッチ(角度)です。大きくすると回転が速くなります。
var RNDZPITCH = 10; // Z軸方向の回転ピッチ(角度)です。大きくすると回転が速くなります。
var RSPAN = 10; // 回転の半径です。大きくすると円が大きくなります。
var OFFSETX = 0; // 回転の中心点の位置補正(右方向へのピクセル数)
var OFFSETY = 20; // 回転の中心点の位置補正(下方向へのピクセル数)
var TLATE = 50; // タイマー設定値(msec) 分からなければこのままで。
//---------------------------------------------------
// 設定可能なパラメタ(ここまで)
//---------------------------------------------------
function eventPos(e)
{
if (document.all ) {
mouseX = event.clientX + document.body.scrollLeft + OFFSETX;
mouseY = event.clientY + document.body.scrollTop + OFFSETY;
} else if (document.layers || document.getElementById) {
mouseX = e.pageX + OFFSETX;
mouseY = e.pageY + OFFSETY;
}
}
function round3DStars()
{
newMouseX = mouseX;
newMouseY = mouseY;
newZAngle = startZAngle + divideZAngle;
if (newZAngle > 360) { newZAngle -= 360; }
for (starNum = 0; starNum < MAXSTAR; starNum++) {
newStartAngle = startAngle + divideAngle * starNum;
if (newStartAngle > 360) { newStartAngle -= 360; }
newPosX = Math.round(RSPAN * Math.cos(newStartAngle * Math.PI / 180));
newPosZX = newMouseX + Math.round(newPosX * Math.cos(newZAngle * Math.PI / 180));
newPosY = newMouseY + Math.round(RSPAN * Math.sin(newStartAngle * Math.PI / 180));
setImgPos("MOV"+starNum, newPosZX, newPosY);
}
startAngle += RNDPITCH;
startZAngle += RNDZPITCH;
setTimeout("round3DStars()", TLATE);
}
function setImgPos(id, xpos, ypos)
{
if (document.layers) {
document.layers[id].left = xpos;
document.layers[id].top = ypos;
} else if (document.all) {
document.all[id].style.left = xpos+"px";
document.all[id].style.top = ypos+"px";
} else if (document.getElementById) {
document.getElementById(id).style.left = xpos+"px";
document.getElementById(id).style.top = ypos+"px";
}
}
var mouseX = -200;
var mouseY = 0;
var startAngle = 0;
var startZAngle = 0;
var divideAngle = Math.round(360 / MAXSTAR);
var divideZAngle = Math.round(360 / MAXSTAR);
if (document.layers || document.getElementById || document.all) {
for (nstar = 0; nstar < MAXSTAR; nstar++) {
document.write('<div id="MOV'+nstar+'" class="posabs">');
document.write('<img src="'+IMGNAME+'"><\/div>');
}
if (document.layers || document.getElementById && !document.all) {
window.document.captureEvents(Event.MOUSEMOVE);
}
document.onmousemove = eventPos;
setTimeout("round3DStars()", TLATE);
}
// -->
</script>
<!-- =================== End of マウス追っかけ3D回転星 ================== -->
|