Hallo mede-tweakers,
Ik heb een beetje hulp nodig met Director, voor school moet ik een opdracht maken. (stiekem vind ik het zelf ook wel leuk
) Een Bully game, principe is simpel. Je bestuurt een Bully. (in mijn geval een Dobberman) Wanneer de Bully binnen een bepaalde afstand komt vluchten de andere voorwerpen. (in mijn geval basketballen). Nu gaat het vluchten
alleen moet ik er nu nog voor zorgen dat ze binnen het speelveld blijven. Ik had het briljante idee om een basketbalveld te maken, met een mooie witte omlijning.
School heeft hiervoor een voorbeeld geschreven die je zelf moet aanpassen. Alleen kom ik er niet uit. Ik verander de achtergrond, pas de kleur aan (RGB 255,255,255) waarover het voorwerp niet mag bewegen en toch gaat die uit het speelveld.
Het voorbeeld van school staat (knip)
Het volgende script wordt gebruikt:(ik heb de code op een paar plaatsen veranderd omdat ik denk dat het zo moet werken)
Wat doe ik fout?
Normaal vraag ik dit aan me leraar maar die ligt in het ziekenhuis voor een enkel operatie
Ik heb een beetje hulp nodig met Director, voor school moet ik een opdracht maken. (stiekem vind ik het zelf ook wel leuk
alleen moet ik er nu nog voor zorgen dat ze binnen het speelveld blijven. Ik had het briljante idee om een basketbalveld te maken, met een mooie witte omlijning.
School heeft hiervoor een voorbeeld geschreven die je zelf moet aanpassen. Alleen kom ik er niet uit. Ik verander de achtergrond, pas de kleur aan (RGB 255,255,255) waarover het voorwerp niet mag bewegen en toch gaat die uit het speelveld.
Het voorbeeld van school staat (knip)
Het volgende script wordt gebruikt:(ik heb de code op een paar plaatsen veranderd omdat ik denk dat het zo moet werken)
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
| --------------------------------------
--
-- Script to place on avatar sprite
--
--
--
--------------------------------------
-- reference to avatar sprite
property pSprite
-- horizontal and vertical startposition of avatar
property pintHgrid, pintVgrid
-- grid size (one block)
property pintGridSize
-- locatie van avatar tov doolhof
property ppntNow
-- referentie naar sprite met doolhof
property pSpriteMaze
-- offset van doolhof tov stage
property ppntMazeOffset
-- image object van doolhof
property pimgMaze
-- formaat van blokken van matrix
property ppntMoveStep
-- flag of avatar op dit moment aan het lopen is
property pblnMoving
on beginSprite me
-- kijk in welke sprite karaktertje staat
pSprite = sprite(me.spriteNum)
-- afbeelding vvan doolhof in variabele opslaan
pimgMaze = member("speelveld").image
-- kijk in welke sprite doolhof afbeelding staat
pSpriteMaze = sprite(pSpriteMaze)
-- kijk waar doolhof staat op stage
ppntMazeOffset = point(pSpriteMaze.left, pSpriteMaze.top)
-- positie van sprite ten opzichte van doolhof
ppntNow = (point(pintHgrid, pintVgrid) * pintGridSize) - point(pintGridSize/2, pintGridSize /2)
pSprite.loc = ppntNow + ppntMazeOffset
-- bepaal grootte van stappen, afhankelijk van grid-grootte
ppntMoveStep = point(pintGridSize, pintGridSize)
-- avatar staat stil
pblnMoving = false
end
on prepareFrame me
-- kijk of een van de cursor toetsen is ingedrukt
-- deze toetsen hebben de volgende codes
case(charToNum(the keyPressed)) of
28: stepTo(point(-1, 0))
29: stepTo(point(1, 0))
30: stepTo(point(0, -1))
31: stepTo(point(0, 1))
end case
end
on stepTo moveDirection
-- positioneer avatar naar door gebruiker aangegeven plek
--
-- kijk of er bewogen kan worden in de aangegeven richting
if(allowMove(moveDirection)) then
-- als dat mag, reken nieuwe positie uit van sprite
-- dit is ten opzichte van linker bovenhoek van doolhof
ppntNow = ppntNow + (ppntMoveStep * moveDirection)
-- zet sprite op juiste locatie ten opzichte van de stage
pSprite.loc = ppntNow + ppntMazeOffset
end if
end
on allowMove moveDirection
-- kijk of avatar mag bewegen naar aangegeven punt
--
-- zoek op naar welk punt speler wil dat avatar beweegt
newPos = ppntNow + (ppntMoveStep * moveDirection)
-- zoek met imaging lingo de kleur onder de pixel waar gebruiker heen wil
if (pimgMaze.getPixel(newPos) = rgb(255, 255, 255)) then
-- als dat wit is mag ie er niet heen
return false
else
-- anders wel...
return true
end if
end
on getPropertyDescriptionList me
lstMazeSpriteCanditates = []
repeat with i = 1 to the lastChannel
if (sprite(i).member.type = #bitmap) then lstMazeSpriteCanditates.add(i)
end repeat
pList = [:]
pList.addprop(#pSpriteMaze, [#format:#integer, #default: lstMazeSpriteCanditates[1], #range: lstMazeSpriteCanditates, #comment: "In welke sprite staat het doolhof?"])
pList.addProp(#pintHgrid, [#format: #integer, #default: 1, #comment: "Op welk horizontaal gridpunt begint de avatar"])
pList.addProp(#pintVgrid, [#format: #integer, #default: 1, #comment: "Op welk vertikaal gridpunt begint de avatar"])
pList.addProp(#pintGridSize, [#format: #integer, #default: 1, #range: [#min: 8, #max: 128], #comment: "Hoe groot is een grid-blok (in pixels)?"])
return pList
end |
Wat doe ik fout?
Normaal vraag ik dit aan me leraar maar die ligt in het ziekenhuis voor een enkel operatie
[ Voor 2% gewijzigd door F_J_K op 21-10-2017 20:57 . Reden: op verzoek van user zelf de dode verwijzing naar figuur verwijderd ]