Avatar billede RasmusTheR Seniormester
12. april 2017 - 22:16 Der er 1 kommentar og
1 løsning

Lad en variablen afgøre hvilke sætninger som skal afvikles.

Jeg er ved at lave et script, som indsætter et billede flere gange, så de danner et mønster. 

Jeg har en liste på 118 placeringer. Et lille udvalg ses neden under.

Kan man lave et script, som kun kører x antal af sætningerne?
Så hvis x=10 er det kun de 10 første, ud af 118 sætninger som kørers..

Håber det er forståeligt hvad jeg mener ;-)


ctx.drawImage(img,((Math.sin(toRadians(0))*60)+195),(195-(Math.cos(toRadians(0))*60)));
ctx.drawImage(img,((Math.sin(toRadians(180))*60)+195),(195-(Math.cos(toRadians(180))*60)));

ctx.drawImage(img,((Math.sin(toRadians(0))*80)+195),(195-(Math.cos(toRadians(0))*80)));
ctx.drawImage(img,((Math.sin(toRadians(45))*80)+195),(195-(Math.cos(toRadians(45))*80)));
ctx.drawImage(img,((Math.sin(toRadians(90))*80)+195),(195-(Math.cos(toRadians(90))*80)));
ctx.drawImage(img,((Math.sin(toRadians(135))*80)+195),(195-(Math.cos(toRadians(135))*80)));
ctx.drawImage(img,((Math.sin(toRadians(180))*80)+195),(195-(Math.cos(toRadians(180))*80)));
ctx.drawImage(img,((Math.sin(toRadians(225))*80)+195),(195-(Math.cos(toRadians(225))*80)));
ctx.drawImage(img,((Math.sin(toRadians(270))*80)+195),(195-(Math.cos(toRadians(270))*80)));
ctx.drawImage(img,((Math.sin(toRadians(315))*80)+195),(195-(Math.cos(toRadians(315))*80)));
Avatar billede olsensweb.dk Ekspert
13. april 2017 - 11:14 #1
tilsyneladende er alle linjer ens, bare med forskellige værdier, så kan du ikke ligge værdierne i et array, du løber igennem i et loop, og laver en string, som du udføre med eval

(utested)
<script type="text/javascript">
values=[
    [0,60,195,195,0,60],   
    [180,60,195,195,180,60]   
];
   

// for(i=0, lng=values.length; i<lng;i++){   
for(i=0, lng=values.length; i<lng && i<=10;i++){
    str = "ctx.drawImage(img,((Math.sin(toRadians("+values[i][0]+"))*"+values[i][1]+")+"+values[i][2]+"),("+values[i][3]+"-(Math.cos(toRadians("+values[i][4]+"))*"+values[i][5]+")))";
    console.log(str); // test, ser udtrykket ud som jeg forvendter
    // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval
    eval(str);   
   
}   
</script>
Avatar billede RasmusTheR Seniormester
14. april 2017 - 21:21 #2
Hej olsensweb.dk

Det virker perfekt :-)

Der var et par nye elementer jeg ikke kendte til, som lige skulle googles, så jeg helt kan forstå hvad scriptet gør.

1000-tak for sciptet med forklaring og link
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester