PDA

View Full Version : A Favor... Please



Darkshark
Mar 24th, 2007, 07:38 AM
Hello,

There are 2 files in the archive attached. I am trying to use a DHTML script for moving an object across the screen.
The only problem is I need from right to left, this script is left to right......... and I know almost nothing about tweaking javascript.

If you open the page in the archive, you will see what I mean.

Could anyone assist me with the tweak?

Thanks
5164

Tony :)
[email protected]

Darkshark
Mar 24th, 2007, 05:29 PM
I read the Sticky about including the code in the post.... and I also tried to email the author of the little script... dead email address.

Trying to get images to go right to left... instead of left to right.
example in my original post... plus I tried tweaking it myself to no avail.

Here is the code.

<code>

<script language="JavaScript1.2">

//Flying planes - by John Ely
//Modified from: Autumn leaves script- by Kurt Grigg ([email protected])
//Modified by Dynamic Drive for NS6 functionality
//visit http://www.dynamicdrive.com for this script

//Pre-load your image below!
//CHANGE 5 to the number of images listed below
grphcs=new Array(5)

//PRELOAD the involved images (extend or contract variables according to # of images used)
Image0=new Image();
Image0.src=grphcs[0]="crow.gif"
Image1=new Image();
Image1.src=grphcs[1]="crow.gif"
Image2=new Image();
Image2.src=grphcs[2]="crow.gif"
Image3=new Image();
Image3.src=grphcs[3]="crow.gif"
Image4=new Image();
Image4.src=grphcs[4]="crow.gif"

//SPECIFY number of images to randomly display concurrently from list above. Less the more efficient
Amount=3;
Ypos=new Array();
Xpos=new Array();
Speed=new Array();
Step=new Array();
Cstep=new Array();
ns=(document.layers)?1:0;
ns6=(document.getElementById&&!document.all)?1:0;
ie=document.all

if (ns){
for (i = 0; i < Amount; i++){
var P=Math.floor(Math.random()*grphcs.length);
rndPic=grphcs[P];
document.write("<LAYER NAME='sn"+i+"' LEFT=0 TOP=0><img src="+rndPic+"></LAYER>");
}
}
else{
document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i = 0; i < Amount; i++){
var P=Math.floor(Math.random()*grphcs.length);
rndPic=grphcs[P];
document.write('<img id="si'+i+'" src="'+rndPic+'" style="position:absolute;top:0px;left:0px">');
}
document.write('</div></div>');
}
WinHeight=(ns||ns6)?window.innerHeight-70:window.document.body.clientHeight;
WinWidth=(ns||ns6)?window.innerWidth:window.document.body.clientWidth;
for (i=0; i < Amount; i++){
Ypos[i] = Math.round(Math.random()*WinHeight);
Xpos[i] = Math.round(Math.random()*WinWidth);
Speed[i]= Math.random()*5+1;
Cstep[i]=0;
Step[i]=Math.random()*0.1+0.05;
}
function fly(){
var WinHeight=(ns||ns6)?window.innerHeight:window.document.body.clientHeight;
var WinWidth=(ns||ns6)?window.innerWidth-70:window.document.body.clientWidth;
var hscrll=(ns||ns6)?window.pageYOffset:document.body.scrollTop;
var wscrll=(ns||ns6)?window.pageXOffset:document.body.scrollLeft;

for (i=0; i < Amount; i++){
sy = Speed[i]*Math.sin(Cstep[i]);
sx = Speed[i]*2;
Ypos[i]+=sy;
Xpos[i]+=sx;
if (Xpos[i] > WinWidth){
Ypos[i]=Math.round(Math.random()*WinHeight);
Xpos[i]=-60;
Speed[i]=Math.random()*5+1;
}

if (ns){
document.layers['sn'+i].left=Xpos[i]+wscrll;
document.layers['sn'+i].top=Ypos[i];
}

else if (ns6){
document.getElementById("si"+i).style.left=Xpos[i]+wscrll;
document.getElementById("si"+i).style.top=Math.min(WinHeight,Ypos[i]);
}

else{
eval("document.all.si"+i).style.left=Xpos[i]+wscrll;
eval("document.all.si"+i).style.top=Ypos[i];
}
Cstep[i]+=Step[i];
}
setTimeout('fly()',20);
}

if (ie||ns||ns6)
window.onload=fly
//-->
</script>

</code>

_Aerospace_Eng_
Mar 25th, 2007, 07:14 AM
Okay and what EXACTLY have you tried (show us what you tried) or were you expecting someone to just do this for you? Thats not what this forum is about. You need to show that you are giving an effort in changing the script. If you can't then perhaps you should post in the paid work offers forum.

Darkshark
Mar 25th, 2007, 09:02 AM
Since I am not a javascript programmer, that is why I asked for help. I don't aspire to be a programmer, I'm not trying to make money from this.......and with a response like yours... I guess I am in the wrong place. Forgive me Aerospace_Eng, I won't take up anymore of your time.

Best Regards,

Tony

_Aerospace_Eng_
Mar 25th, 2007, 09:28 AM
No its just that you need to show us what you've done telling us that you actually tried to do something.

rwedge
Mar 25th, 2007, 10:16 AM
Try changing these parts:
for (i=0; i < Amount; i++){
sy = Speed[i]*Math.sin(Cstep[i]);
sx = Speed[i]*2;
Ypos[i]-=sy;
Xpos[i]-=sx;
if (Xpos[i] < 0){
Ypos[i]=Math.round(Math.random()*WinHeight);
Xpos[i]=WinWidth;
Speed[i]=Math.random()*5+1;
}

Darkshark
Mar 25th, 2007, 10:22 AM
Thank you, Rwedge... that is perfect.

Kind Regards,

Tony