Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
multizync
HV kasutaja

liitunud: 23.05.2005
|
27.04.2014 15:22:07
HTML5 + javascript |
|
|
Oskab keegi aidata, et kuidas saaks need valged vahed sealt vahelt ära koristada..?
http://www.upload.ee/image/4024068/Capture.PNG
See funktsioon selline:
function showGrid() {
var y,x;
for (y=0;y<gridy;y++) {
for (x=0;x<gridx;x++) {
document.write ('<a href="javascript:gridClick('+y+','+x+');"><img name="pc'+y+'_'+x+'" src="sea1.jpg" width=40 height=40 ></a>');
}
document.write('<br>');
}
}
|
|
Kommentaarid: 20 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
0 :: |
18 |
|
tagasi üles |
|
 |
Fukiku
Kreisi kasutaja

liitunud: 06.11.2003
|
|
Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
2 |
|
tagasi üles |
|
 |
multizync
HV kasutaja

liitunud: 23.05.2005
|
27.04.2014 21:40:25
|
|
|
Ok, ma sain selle, aga nüüd juhtus mingi jama, chrome brauser jooksis kokku, tegin arvutile force restardi ja peale restarti avasin html faili, ning kogu sisu kadunud:
Kas on võimalik see kuidagi sealt kätte saada, ei tahaks seda uuesti küll kirjutada..
http://www.upload.ee/download/4024936/2914b0e8f20cbe3e893/Mang.html
|
|
Kommentaarid: 20 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
0 :: |
18 |
|
tagasi üles |
|
 |
Redikate
HV veteran

liitunud: 30.12.2005
|
28.04.2014 01:32:17
|
|
|
See html fail on tühi / vigane.
Browseris kirjutasid seda mängu või?
Kasuta ikka selleks ettenähtud tööriistu, siis ei lähe töö niimoodi kaduma.
_________________ http://nodejs.org/
"I'm also a person. Programming is just one thing I do." |
|
Kommentaarid: 34 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
33 |
|
tagasi üles |
|
 |
multizync
HV kasutaja

liitunud: 23.05.2005
|
28.04.2014 03:45:27
|
|
|
notepad++ kirjutasin (salvestasin pidevalt)
ei kujuta ette kuidas see sai juhtuda, arvuti jooksis kokku, tegin nupust resa ja tulemus selline..
Tegin uuesti selle valmis:
Nüüd selline küsimus, et, mul on tsükkel, mis joonistab horisontaalselt 6 pilti. Tahaksin teha nii, et ta joonistaks 1 pildi iga sekundi tagant..
for (i = 6; i< 12; i++) {
ctx.drawImage(preloaded[i],i*tile_size-80, 160);
}
proovisin juba setTimeout(ctx.drawImage(preloaded[i],i*tile_size-80, 160), 1000); ning proovisin ka nii, et kogu for tsükli panin selle sisse:
setTimeout(function{siia kogu for tsükkel}, 1000);
Aga ikkagi ta joonistab need 6 pilti korraga valmis ( ootab alguses 1 sekundi ja siis teeb korraga need valmis..
|
|
Kommentaarid: 20 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
0 :: |
18 |
|
tagasi üles |
|
 |
1dumbpcuser
HV Guru
liitunud: 05.03.2002
|
28.04.2014 08:28:33
|
|
|
tsitaat: |
proovisin ka nii, et kogu for tsükli panin selle sisse:
setTimeout(function{siia kogu for tsükkel}, 1000);
|
Vastupidi peaks ju olema "Ootamine" peaks for tsükli sees olema
_________________ O: Low-profile pci bracket |
|
Kommentaarid: 100 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
0 :: |
95 |
|
tagasi üles |
|
 |
multizync
HV kasutaja

liitunud: 23.05.2005
|
28.04.2014 09:27:20
|
|
|
no, ma proovisin ka nii, aga ei midagi..
for (i = 6; i< 12; i++) {
setTimeout(ctx.drawImage(preloaded[i],i*tile_size-80, 160), 1000);
}
|
|
Kommentaarid: 20 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
0 :: |
18 |
|
tagasi üles |
|
 |
1dumbpcuser
HV Guru
liitunud: 05.03.2002
|
|
Kommentaarid: 100 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
0 :: |
95 |
|
tagasi üles |
|
 |
multizync
HV kasutaja

liitunud: 23.05.2005
|
28.04.2014 10:46:01
|
|
|
Proovisin ka nii, aga tulemus on sama ikka..
for (var i = 6; i< 12; i++) {
setTimeout(ctx.drawImage(preloaded[i],i*tile_size-80, 160), 1000);
}
|
|
Kommentaarid: 20 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
0 :: |
18 |
|
tagasi üles |
|
 |
Redikate
HV veteran

liitunud: 30.12.2005
|
28.04.2014 11:12:04
|
|
|
var turns = 1;
var interval = setInterval(function() {
ctx.drawImage(preloaded[turns],turns*tile_size-80, 160);
turns++;
if(turns > 6) {
clearInterval(interval);
}
}, 1000); |
ja selgituseks miks su setTimeout for loopis ei toimi:
Javascript on async ja setTimeout on non-blocking. Mis tähendab et for loop jookseb ära pannes ülesse 6 setTimeouti mis igaüks lõppeb 1000ms'i pärast. Tulemuseks ongi see, et kõik timeoutid lõppevad üheaegselt, kuna need tehti üheaegselt.
Selleks, et see kood töötaks, peaksid sa korrutama setTimeouti limiidi loopitava muutujaga. Siis setitakse 6 timeouti mis igaüks lõppeb 1000s hiljem kui eelmine. Samuti on sul anonymous funktsioon puudu
Seega töötav variant oleks:
function drawImage(i) {
setTimeout(function() { ctx.drawImage(preloaded[i],i*tile_size-80, 160); }, 1000*i);
}
for (var i = 1; i <= 6; i++) {
drawImage(i);
}
|
_________________ http://nodejs.org/
"I'm also a person. Programming is just one thing I do."
viimati muutis Redikate 28.04.2014 12:00:57, muudetud 4 korda |
|
Kommentaarid: 34 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
33 |
|
tagasi üles |
|
 |
multizync
HV kasutaja

liitunud: 23.05.2005
|
28.04.2014 11:13:18
|
|
|
Hmm, ei mõju ka see..
Selle viimasega täideti ainult 1 ruut selle pildiga ära (ja see ruut, mis jäi sellest i vahemikust välja ehk mul on laev 6 ruutu horisontaalselt ning see pilt läks seitsmendasse ruutu), (eeldusel, et for tsükli panin sellele ümber). Kui for tsüklit polnud, siis ei juhtunud mitte midagi..
|
|
Kommentaarid: 20 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
0 :: |
18 |
|
tagasi üles |
|
 |
Redikate
HV veteran

liitunud: 30.12.2005
|
28.04.2014 11:20:32
|
|
|
Eee jah. Seal intervali variandis on mul see i muutuja sisse ununenud mida seal ei ole üldse olemaski. muuda i ära turns'iks ja võiks toimida.
E: Muutsin oma postis koodi ka.
_________________ http://nodejs.org/
"I'm also a person. Programming is just one thing I do." |
|
Kommentaarid: 34 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
33 |
|
tagasi üles |
|
 |
multizync
HV kasutaja

liitunud: 23.05.2005
|
28.04.2014 11:58:36
|
|
|
Ok, praegu on näha, et ta iga sekundi tagant tekitab selle pildi (pildi ääred tumenevad), aga millegipärast tekib see ikkagi kõik samasse ruutu, et nagu for tsükkel ei liigu edasi vms..
E:
Panin console'i välja printima ja kui peale for tsüklit kohe console.log(i);
for (var i = 0; i <6; i++) {
console.log("Algus: "+i);
siis prindib 0, 1, 2, 3, 4, 5
aga siin printides tuleb ainult 6 (kuigi tsükli tegin 0-5..)
setTimeout(function() {
console.log(i);
|
|
Kommentaarid: 20 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
0 :: |
18 |
|
tagasi üles |
|
 |
Redikate
HV veteran

liitunud: 30.12.2005
|
28.04.2014 12:03:01
|
|
|
Muutsin for'i koodi ka siis oma postis. Kerge variable reference logic error oli mul.
Probleem on lihtne, kuna kõik timeoutid kasutavad sama muutujat "i" siis selleks ajaks kui timeoutid jooksevad on i väärtus 6.
Uuendatud kood teeb i'st koopia ning seega i väärtus ei muutu timeouti jaoks.
_________________ http://nodejs.org/
"I'm also a person. Programming is just one thing I do." |
|
Kommentaarid: 34 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
33 |
|
tagasi üles |
|
 |
multizync
HV kasutaja

liitunud: 23.05.2005
|
28.04.2014 21:48:56
|
|
|
Suured suured tänud, sain toimima..
E: võimalik, et küsin veel lähipäevil paari asja kohta..
Mul küsimus veel ühe asja kohta:
Nimelt, kui koodis kusagil console.log(subs); printida, siis annab undefined, sama on tglt kõigi kohta, aga imelik on et näiteks seconds väärtus on olemas (printides annab ikka undefined), kuna hakatakse alguses 15'st alla lugema..
<body onload="load()">
function load() {
soundOn = true;
oigus = true;
var subs = 1; // allveelaevade arv
level = 1;
seconds = 15;
}
|
|
Kommentaarid: 20 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
0 :: |
18 |
|
tagasi üles |
|
 |
kuunar
Kreisi kasutaja
liitunud: 20.02.2009
|
29.04.2014 02:03:11
|
|
|
Raske öelda nii mis sul toimub seal üldse. Võibolla selline juhtum.
/* Globaalsed muutujad */
var soundOn,
oigus,
level,
seconds;
function load() {
var subs = 1; // allveelaevade arv
soundOn = true;
oigus = true;
level = 1;
/* Väärtus globaalsele muutujale seconds */
seconds = 15;
/* Prindib funktsiooni load muutuja subs */
console.log(subs);
/* Prindib muutuja seconds, sest see on globaalne */
console.log(seconds);
}
/* Mingi teine funktsioon */
(function() {
/* Ei prindi muutujat subs, sest sellist muutujat pole */
console.log(subs);
/* Prindib muutuja seconds, sest see on globaalne */
console.log(seconds);
}());
/* Ei prindi muutujat subs, sest sellist muutujat pole */
console.log(subs);
/* Prindib muutuja seconds, sest see on globaalne */
console.log(seconds);
|
|
|
Kommentaarid: 14 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
13 |
|
tagasi üles |
|
 |
multizync
HV kasutaja

liitunud: 23.05.2005
|
29.04.2014 08:07:20
|
|
|
Kõik muutujad on mul deklareeritud kohe scripti sisse
<script>
siiiin (mitte kusagil funktsiooni sees, load() funktsiooni sees ainult väärtustan)
</script>
|
|
Kommentaarid: 20 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
0 :: |
18 |
|
tagasi üles |
|
 |
Redikate
HV veteran

liitunud: 30.12.2005
|
29.04.2014 12:41:19
|
|
|
Mina loen väga selgelt välja et load() funktsiooni sees on sul "var subs = 1;" mis tekitab subs vari funktsiooni skoobis.
var foo = 1;
function load() {
var foo = 2;
}
load();
console.log(foo); // prindib 1
|
_________________ http://nodejs.org/
"I'm also a person. Programming is just one thing I do." |
|
Kommentaarid: 34 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
33 |
|
tagasi üles |
|
 |
kuunar
Kreisi kasutaja
liitunud: 20.02.2009
|
29.04.2014 12:42:37
|
|
|
no subs on sul ju load-is? seconds kohta ei tea, sest pole ülejäänud kremplit näinud.
|
|
Kommentaarid: 14 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
13 |
|
tagasi üles |
|
 |
|