Toon posts:

[director] timer terug laten lopen

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik ben bezig met een soort van Snake te maken, inclusief doolhof...besturing en zo werkt allemaal alleen moet ik nu een teller plaatsen die aftelt van 10 naar 0 (seconden). Wanneer de sprite die je bestuurt (een balletje) het item raakt (het eten zeg maar) moet de resterende aantal seconden vermenigvuldigd worden met tien, het aantal punten staat op een sprite genaamd scorebord
code:
1
scorebord = scorebord + (teller * 10)

zodra er een intersect van de 2 sprites plaats vind moet de teller weer van 10 naar nul gaan tellen...

mijn probleem is dat ik niet weet hoe ik die timer plaats, in de lingo dicionary staan wel dingen als timeout en starttimer en zo, maar ik snap niet goed hoe ik ze moet gebruiken, kan iemand mij een tip geven hoe dit zou moeten?

bestand is hier te vinden

thanx alvast

  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 27-08 10:08

XangadiX

trepanatie is zóó kinderachtig

de timer blijft doorlopen, je moet hem gewoon iedere keer opnieuw starten, maar wat je beter kan doen is op endframe een teller + 1 te laten gaan en die syncen aan je timer.

Hoe behandel je je loops? zijn dat repeats of zijn dat exitframes?

Stoer; Marduq


Verwijderd

Topicstarter
code:
1
2
3
4
on exitframe me
 go to the frame
 teller = teller - 1
end

dus dat voor de teller als ik het goed begrijp

en dan in mn handler voor scoren:
code:
1
2
3
4
5
6
7
8
9
10
11
12
on scoren

-- aantal resterende punten vermenigvuldigen met 10
scorebord = scorebord + (teller * 10)

-- zet timer op 10 en laat hem weer aftellen
teller = 10

-- blokje nieuwe locatie geven
sprite(3).locV = random(500)
sprite(3).locH = random(500)
end scoren

zoiets dus?

er van uitgaande dat mn filmpje met 1 frame per seconde loopt telt ie zo dan af van tien tot nul

Verwijderd

Topicstarter
update: ik heb mn script aangepast...alleen krijg ik het nog niet voor elkaar om de punten de displayen in een aparte sprite. kep een tekstveld daarvoor gemaakt, die de naam scorebord gegeven en deze code gebruikt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
on scoren

-- aantal resterende punten vermenigvuldigen met 10 en deze punten in het scorebord plaatsen

punten = punten + (teller * 10)
put punten into scorebord


-- zet timer weer op 10
teller = 10


-- blokje nieuwe locatie geven
sprite(3).locV = random(500)
sprite(3).locH = random(500)
end scoren

maar om een of andere reden worden mn punten niet weergegeven in dat tekstveld, als ik hem editable maak kan ik mn balletje niet meer besturen aangezien er dan een cursor knippert in het tekstveld....ik denk als ik dit aan de praat krijg dat de rest vanzelf komt, maar ik weet het niet meer!! :'(

  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 27-08 10:08

XangadiX

trepanatie is zóó kinderachtig

is het een 'text' of een 'field'?

Stoer; Marduq


Verwijderd

Topicstarter
een text, moet het field zijn?

  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 27-08 10:08

XangadiX

trepanatie is zóó kinderachtig

ja en de code is niet
code:
1
put into scoreboard

maar
code:
1
put into field("scoreboard")

* XangadiX heeft wat dat betreft best een hekel aan director dat ie daar niet gewoon een error op geeft, of een warning. Een programmeer taal met lidwoorden vind ie zoiezo redelijk nonsense :-/

Stoer; Marduq


Verwijderd

Topicstarter
Op zaterdag 08 juni 2002 18:16 schreef XangadiX het volgende:
ja en de code is niet
code:
1
put into scoreboard

maar
code:
1
put into field("scoreboard")

* XangadiX heeft wat dat betreft best een hekel aan director dat ie daar niet gewoon een error op geeft, of een warning. Een programmeer taal met lidwoorden vind ie zoiezo redelijk nonsense :-/
toch dank ik u hartelijk :7

Verwijderd

Topicstarter
voor de nieuwsgierigen (doe je het niet voor nix XangadiX)

ik heb het eindresultaat online gezet

sjek

simpel...maar ik ben er tevreden mee :9

  • Verwijderd
  • Registratie: November 2000
  • Laatst online: 24-01-2022
Ziettur netjes uit :) vormgeving is wat zozo. Mijm code lag meestal nog half in elkaar als de vormgeving van me Director spul er al netjes bij lag. Tis precies andersom he?

Kan je nog ergens de code posten?

Verwijderd

Topicstarter
as you wish:

de on startmovie
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
on startMovie
  global xbal, ybal, teller, punten, scoreboard
  xbal = 27
  ybal = 27
  xstap = 0
  ystap = 0
  sprite(2).loc = point (xbal, ybal)
  sprite(3).locH = random(500)
  sprite(3).locV = random(500)
  scoreboard = 0
  punten = 0
  teller = 200
  updatestage
  
  
end startMovie

de exitframe
code:
1
2
3
4
5
6
7
8
on exitFrame me
  beweegbal
  tikker
  if sprite 3 intersects sprite 1 then blokbotsing
  if sprite 2 intersects sprite 1 then botsing
  if sprite 2 intersects sprite 3 then scoren
  go to the frame
end

en het moviescript
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
global xbal, ybal, xstap, ystap, teller, scoreboard, punten




-- handler beweging bal

on beweegbal
  
  -- nieuwe locatie bal bepalen
  xbal = sprite(2).locH + xstap
  ybal = sprite(2).locV + ystap
  sprite(2).loc = point (xbal, ybal)
  
  --  zorg ervoor dat sprite 2 niet buiten de stage kan komen:
  if sprite(2).locH < 15 then sprite(2).locH = 15
  if sprite(2).locV < 15 then sprite(2).locV = 15
  if sprite(2).locH > 485 then sprite(2).locH = 485
  if sprite(2).locV > 485 then sprite(2).locV = 485
  
  -- bal besturen met cursor  
  
on keyDown
  case (the keyCode) of
    123: xstap = -7
    ystap = 0
    124: xstap = 7
    ystap = 0
    125: ystap = 7
    xstap = 0
    126: ystap = -7
    xstap = 0
  end case
end keyDown

end beweegbal









-- handler blokbotsing

on blokbotsing

-- blokje nieuwe locatie geven
sprite(3).locV = random(500)
sprite(3).locH = random(500)

end blokbotsing








-- handler botsing frame

on botsing

-- bal naar het beginpunt zetten
sprite(2).locH = 27 + xstap
xstap = 0
sprite(2).locV = 27 + ystap
ystap = 0

end botsing







-- handler tikker


on tikker

if teller > 0 then teller = teller - 1

if teller = 0 then teller = 200

if teller = 1 then blokbotsing

put teller into field("teller")

end tikker








-- handler punten scoren

on scoren

-- aantal resterende punten vermenigvuldigen met 10 en deze punten in het scorebord plaatsen
punten = punten + teller
put punten into field("scoreboard")


-- zet teller op 200
teller = 200


-- blokje nieuwe locatie geven
sprite(3).locV = random(500)
sprite(3).locH = random(500)
end scoren

voor de rest uiteraard wat kleine scriptjes nog, maar die zijn niet belangrijk...ff ter info:
sprite 1 = doolhof
sprite 2 = rode bal
sprite 3 = blokje
scoreboard = het scoreboard rechts bovenin (uiteraard)
teller = sjahh...wat denkje zelf :P


voor de echt geïnteresseerden mail me voor de .dir file

grtz

ps XangadiX wat vind je er nou van??????? whehe
Pagina: 1