Avatar billede thinkfast Nybegynder
14. september 2003 - 23:22 Der er 28 kommentarer

Rykke fra id 1 til 2 ?

Hej allesammen!

Jeg vil gerne have at når man trykker på en "felt" så rykkes et billede hen på det felt med det id - har lige prøvet med at rykke den med
image.style.left="3"

men det gik lidt galt... Kort forklaring:

Felter:
1 - 2 - 3 - 4
5 - 6 - 7 - 8

Billede = *

Det vil sige når man f.eks klipper på <img id="6"> så bliver det til:
1 - 2 - 3 - 4
5 - * - 7 - 8

Fordi at * rykker derhen!
håver i forstår...

mvh Think.Fast
Avatar billede roenving Novice
15. september 2003 - 00:04 #1
Har du helt faste placeringer, så man kan sige f.eks.
plads 1 er 0 left og 0 top
plads 2 er 35 left og 0 top
plads 3 er 70 left og 0 top
plads 4 er 105 left og 0 top

plads 5 er 0 left og 20 top
plads 6 er 35 left og 20 top
plads 7 er 70 left og 20 top
plads 8 er 105 left og 20 top

for så kan det laves med et par små tabeller:

<script type="text/javascript">
t = [0,20];
l = [0,35,70,105];

function moveImage(num){
num = parseInt(num,10);
lnum = (num-1)%4;
tnum = Math.floor((num-1)/4));
document.images[image].style.left = l[lnum];
document.images[image].style.top = t[tnum];
}

-- og så:

<img src="pic1.gif" name="pic1" onclick="moveImage(this.name.substring(3));">
Avatar billede roenving Novice
15. september 2003 - 00:04 #2
-- og selvfølgelig </script> efter scriptet ...
Avatar billede thinkfast Nybegynder
15. september 2003 - 00:29 #3
Linje 8: Du satte et ) for meget :D
Linje 9: "image" er ikke defineret?
Avatar billede roenving Novice
15. september 2003 - 00:36 #4
Ganske rigtigt forkert !-)

tnum = Math.floor((num-1)/4);
document.images['image'].style.left = l[lnum];
document.images['image'].style.top = t[tnum];

-- fordi du brugte navnet image !O]
Avatar billede thinkfast Nybegynder
15. september 2003 - 00:37 #5
Virker stadigvæk ik ?
Avatar billede roenving Novice
15. september 2003 - 00:40 #6
Ja, det er sikkert hensigtsmæssigt at fortælle den, at den skal tælle pixels:

document.images['image'].style.left = l[lnum]+'px';
document.images['image'].style.top = t[tnum]+'px';
Avatar billede thinkfast Nybegynder
15. september 2003 - 00:43 #7
Nej den siger:
'document.images.style' er ikke et object ?
Avatar billede roenving Novice
15. september 2003 - 00:46 #8
-- der står også:

document.images['image'].style osv.
Avatar billede thinkfast Nybegynder
15. september 2003 - 00:49 #9
kig der kommer "Error on page":
http://rpg.users.whitehat.dk/fejl.html
Avatar billede thinkfast Nybegynder
15. september 2003 - 01:09 #10
Hva kan jeg gøre?
Avatar billede roenving Novice
15. september 2003 - 01:14 #11
Ja, dit link kan ikke ses ...

-- men du kunne jo prøve at vise den kode, du forsøger at få til at fungere !-)
Avatar billede thinkfast Nybegynder
15. september 2003 - 01:15 #12
For at se koden er det jo bare VIEW SOURCE på siden :D
så kommer den frem... ellers er den her:


<script type="text/javascript">
t = [0,20];
l = [0,35,70,105];

function moveImage(num){
num = parseInt(num,10);
lnum = (num-1)%4;
tnum = Math.floor((num-1)/4);
document.images['image'].style.left = l[lnum]+'px';
document.images['image'].style.top = t[tnum]+'px';
}

</script>

<img src="pic1.gif" name="pic1" onclick="moveImage(this.name.substring(3));">
Avatar billede thinkfast Nybegynder
15. september 2003 - 01:16 #13
btw her er den side jeg byggede aller først... Men som du kan se, når manden ryger ned på feltet nedenunder kan han ikke komme op igen fordi at han kun får besked om at rykke til højre, men hver tfelt ska ha et id så det er lettere:
http://rpg.users.whitehat.dk/game/move.html
Avatar billede thinkfast Nybegynder
15. september 2003 - 01:18 #14
og her kan du se det i en mislykket php version som selvfølgelig er så skide langsom:
http://rpg.users.whitehat.dk/game/felt.php?felt=1
Avatar billede roenving Novice
15. september 2003 - 01:34 #15
Hvilken side er det du omtaler 01:15:21 ?-)

Den samme som du henviser til senere ?-]
Avatar billede thinkfast Nybegynder
15. september 2003 - 01:38 #16
den: 01:15:21 er den du har skrevet :D Du kan jo bare se i html'en og sammenligne, javascript bliver jo vist som html :D

http://rpg.users.whitehat.dk/game/move.html var mit eget forsøg på at lave det du skulle hjælpe mig :D
Avatar billede roenving Novice
15. september 2003 - 01:42 #17
Du skriver:

For at se koden er det jo bare VIEW SOURCE på siden :D

-- du har ikke omtalt andre sider, end dem du kalder dine andre forsøg ?-)
Avatar billede roenving Novice
15. september 2003 - 01:43 #18
Jeg har selvfølgelig også brug for at genfinde html-koden med event-handlers og jegskagidigskaja ...
Avatar billede thinkfast Nybegynder
15. september 2003 - 01:48 #19
joda :D
okay her får du dem lidt mere overskueligt :D

Siden med scriptet som jeg har bygget efter informationen du gav mig:
http://rpg.users.whitehat.dk/fejl.html

Mine 2 forsøg på at skabe noget rykke (1 i java - og 1 i php)
http://rpg.users.whitehat.dk/game/move.html
http://rpg.users.whitehat.dk/game/felt.php?felt=1

Så var den der ;)
Nå men hvorfor virker det ikke? (det første link)
Avatar billede thinkfast Nybegynder
15. september 2003 - 01:52 #20
Og forresten, den skal ikke virke på "noget" det jeg skal have lavet er bare en "plade" med eksempel: 4*4 felter som en figur kan hoppe rundt på.. ret simpelt ik? :D
Avatar billede roenving Novice
15. september 2003 - 01:53 #21
Fordi koden ikke er bare 1/7 færdig ...

Jeg gik da ud fra, at du havde lagt den struktur du omtaler foroven ind i det, altså den der med de 8 billeder (og ikke kun det ene, som jeg brugte som eksempel på opbygningen !-)

-- og at du havde tilføjet det billede, du kalder image ...
Avatar billede roenving Novice
15. september 2003 - 02:03 #22
<html>
<head>

<script type="text/javascript">

t = [3,47];
l = [3,47,91,135];

function moveImage(num){
num = parseInt(num,10);
lnum = (num-1)%4;
tnum = Math.floor((num-1)/4);
document.images['image'].style.left = l[lnum];
document.images['image'].style.top = t[tnum];
}

</script>

</head>
<body topmargin=0 leftmargin=0>
<table width=180 background=bg2.jpg><tr><td>
<img id="image" style="position:absolute;" src="http://rpg.users.whitehat.dk/game/char1.gif" width="40" height="40">

<img src="http://rpg.users.whitehat.dk/game/bulbon.gif" name="pic1" onclick="moveImage(this.name.substring(3));" width="40" height="40" />

<img src="http://rpg.users.whitehat.dk/game/bulbon.gif" name="pic2" onclick="moveImage(this.name.substring(3));" width="40" height="40" />

<img src="http://rpg.users.whitehat.dk/game/bulbon.gif" name="pic3" onclick="moveImage(this.name.substring(3));" width="40" height="40" />

<img src="http://rpg.users.whitehat.dk/game/bulbon.gif" name="pic4" onclick="moveImage(this.name.substring(3));" width="40" height="40" />

<img src="http://rpg.users.whitehat.dk/game/bulbon.gif" name="pic5" onclick="moveImage(this.name.substring(3));" width="40" height="40" />

<img src="http://rpg.users.whitehat.dk/game/bulbon.gif" name="pic6" onclick="moveImage(this.name.substring(3));" width="40" height="40" />

<img src="http://rpg.users.whitehat.dk/game/bulbon.gif" name="pic7" onclick="moveImage(this.name.substring(3));" width="40" height="40" />

<img src="http://rpg.users.whitehat.dk/game/bulbon.gif" name="pic8" onclick="moveImage(this.name.substring(3));" width="40" height="40" /></td></tr></table>

</body>
</html>
Avatar billede thinkfast Nybegynder
15. september 2003 - 02:22 #23
De 3 øverste felter virker men de andre fucker sådan lidt op?
Avatar billede thinkfast Nybegynder
15. september 2003 - 03:07 #24
Okay det er måske ik lige sådan til at fixe?........
Avatar billede roenving Novice
15. september 2003 - 15:49 #25
-- den virkede da fuldstændig hos mig ?-)
Avatar billede thinkfast Nybegynder
15. september 2003 - 17:40 #26
Kig her:
http://rpg.users.whitehat.dk/game/eks.html

Den virker jo ikke - kun på de 3 øverste felter!
Avatar billede thinkfast Nybegynder
15. september 2003 - 17:46 #27
ok my bad :D
sku bare ændre:
<table width=180>
til
<table width=190>

Tak :D - lav svar ;)

btw.. Kan du ik forklare hvordan det virker?
det er jo lidt mere indviklet end det jeg lavede fra starten!
Avatar billede roenving Novice
16. september 2003 - 01:58 #28
Der er lavet en liste med de lodrette og vandrette positioner og koden finder så ud af hvad der er den vandrette og lodrette del ved at checke nummeret:

Den vandrette del er placeringen i rækken: (num-1)%4;//modulus 4
Den lodrette placering er rækkenummeret: Math.floor((num-1)/4);

-- og velbekomme ;~}
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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