Si prega di considerare questo codice rebol2 semplice per illustrare il mio problema:VID riquadro layout di supportare molteplici creazioni del viso [rebol2]
REBOL []
a: make face [
offset: 0x0
color: yellow
size: 20x20
]
b: make face [
offset: 0x0
color: red
size: 60x60
pane: reduce [
make a [offset: 0x0]
make a [offset: 10x10]
make a [offset: 10x20]
]
]
view layout [
box 200x200 white with [
pane: reduce [
make b [offset: 0x30] ;; one 'instance' of b
]
]
]
Il punto principale qui è per un layout (o faccia) per essere in grado di visualizzare un mucchio di facce all'interno del relativo riquadro in modo che siano possibili più creazioni della stessa faccia (b
in questo caso). Il codice mostrato funziona bene e l'istanza (chiamiamola in questo modo) di b
viene visualizzata come dovrebbe essere.
Ma ora supponiamo che io modificare il codice in modo che ho, diciamo, 2 casi di b
:
view layout [
box 200x200 white with [
pane: reduce [
make b [offset: 0x30]
make b [offset: 0x10]
]
]
]
A questo punto ho l'errore
** Script Error: Face object reused (in more than one pane): none
** Where: view
** Near: show scr-face
if new [do-events]
Dal messaggio presumo qui che faccia b
è in qualche modo riutilizzato e incasinato esattamente quello che sto cercando di ottenere. Ho fatto molte ricerche al riguardo e ad un certo punto ho scoperto che è possibile aggirarlo clonando (usando make
) il volto da passare a pane
; questo è quello che pensavo di fare, ma senza successo.
Dato questo scenario, la mia domanda è: come posso andare a risolvere questo? è rebol2 ok per fornire questo "face-instantiation" o è meglio provare qualcos'altro al di fuori di rebol2 (forse rebol3)?
Qualsiasi aiuto sarà molto apprezzato.
Il secondo approccio ha funzionato meglio per il mio problema ed è stato semplice e trasparente per ciò che intendevo sviluppare in seguito con questo codice. Grazie per la pubblicazione: D – rdonatoiop