DEBUTANT: ajouter des points de coordonnees differentes
Maomao9-Oct-2016/5:25:53+2:00
Bonjour a tous,
J'essaye d'ajouter de facon dynamique des points sur un plan en utilisant R2 et draw.
Je suis parti des examples ici: http://re-bol.com/rebol_crash_course.html#section-5.4

Avec ce code:
pos: 150x50

view layout [
scrn: box 400x400 black effect [draw []]

   btn "Move Smoothly" [
loop 5 [
      append scrn/effect/draw [circle pos 2]
show scrn
      wait 0.5
      pos/y: pos/y + 50
]
]
]

Mon probleme: je veux ajouter les points (cercles) au graphique mais a chaque refresh, seulement le dernier point est affiche (j'utilise pourtant "append").
Quelqu'un pourrait me filer un coup de main?

Merci
Scureuil9-Oct-2016/19:58:08+2:00
Bonjour,

si le block 'draw est bien évalué à chaque fois, les points seront par contre tous au même endroit, c'est à dire aux coordonnées correspondant à la dernière valeur de 'pos. Le block 'draw évolue ainsi:

1 -> [circle pos 2]
2 -> [circle pos 2 circle pos 2]
3 -> [circle pos 2 circle pos 2 circle pos 2]
4 -> [circle pos 2 circle pos 2 circle pos 2 circle pos 2]
5 -> [circle pos 2 circle pos 2 circle pos 2 circle pos 2 circle pos 2]

=> cinq cercles à la position 'pos.

La solution est de fournir un block avec la valeur 'pos déjà évaluée:
append scrn/effect/draw compose [circle (pos) 2]

ce qui donnera:

1 -> [circle 150x50 2]
2 -> [circle 150x50 2 circle 150x100 2]
3 -> [circle 150x50 2 circle 150x100 2 circle 150x150 2]
4 -> [circle 150x50 2 circle 150x100 2 circle 150x150 2 circle 150x200 2]
5 -> [circle 150x50 2 circle 150x100 2 circle 150x150 2 circle 150x200 2 circle 150x250 2]

=> cinq cercles espacés de 50 pixels.
Maomao10-Oct-2016/5:10:53+2:00
Merci!

Login required to Post.


Powered by RebelBB and REBOL 2.7.8.4.2