@@ -56,6 +56,9 @@ export default function Screen({ canvasWidth, canvasHeight, sprites, vfg }) {
56
56
( ( sprite . maxX - sprite . minX ) * canvasHeight ) / 2 ;
57
57
y = canvasHeight - sprite . minY * canvasHeight ;
58
58
}
59
+ const spriteWidth = ( sprite . maxX - sprite . minX ) * canvasHeight ;
60
+ const spriteHeight = ( sprite . maxY - sprite . minY ) * canvasHeight ;
61
+ const centerY = y + spriteHeight / 2 ;
59
62
// Draw the sprite with a text
60
63
return (
61
64
< React . Fragment key = { i } >
@@ -65,7 +68,7 @@ export default function Screen({ canvasWidth, canvasHeight, sprites, vfg }) {
65
68
"data:image/png;base64," +
66
69
vfg . imageTable . m_values [
67
70
vfg . imageTable . m_keys . indexOf ( sprite . prefabimage )
68
- ]
71
+ ]
69
72
}
70
73
name = { sprite . name }
71
74
anchor = { anchor }
@@ -77,22 +80,40 @@ export default function Screen({ canvasWidth, canvasHeight, sprites, vfg }) {
77
80
tint = {
78
81
"color" in sprite
79
82
? utils . rgb2hex ( [
80
- sprite . color . r ,
81
- sprite . color . g ,
82
- sprite . color . b ,
83
- ] )
83
+ sprite . color . r ,
84
+ sprite . color . g ,
85
+ sprite . color . b ,
86
+ ] )
84
87
: null
85
88
}
86
89
alpha = { sprite . color . a }
87
90
/>
88
- < Text
89
- // text on the sprite
90
- text = { sprite . showname ? sprite . name : "" }
91
- style = { { fontFamily : "Arial" , fontSize : 16 , fill : 0x000000 } }
92
- anchor = { ( 0.5 , 0.5 ) }
93
- x = { x + ( ( sprite . maxX - sprite . minX ) * canvasHeight ) / 2 }
94
- y = { y + ( ( sprite . maxY - sprite . minY ) * canvasHeight ) / 2 }
95
- />
91
+ { sprite . showlabel ? (
92
+ < >
93
+ < Text
94
+ text = { sprite . label }
95
+ style = { { fontFamily : "Arial" , fontSize : 16 , fill : 0xe65c00 } }
96
+ anchor = { ( 0.5 , 0.5 ) }
97
+ x = { x + spriteWidth / 2 }
98
+ y = { centerY } // Label in the middle
99
+ />
100
+ < Text
101
+ text = { sprite . showname ? sprite . name : "" }
102
+ style = { { fontFamily : "Arial" , fontSize : 16 , fill : 0x000000 } }
103
+ anchor = { ( 0.5 , 0.5 ) }
104
+ x = { x + spriteWidth / 2 }
105
+ y = { y - 10 } // Name above the sprite
106
+ />
107
+ </ >
108
+ ) : (
109
+ < Text
110
+ text = { sprite . showname ? sprite . name : "" }
111
+ style = { { fontFamily : "Arial" , fontSize : 16 , fill : 0x000000 } }
112
+ anchor = { ( 0.5 , 0.5 ) }
113
+ x = { x + spriteWidth / 2 }
114
+ y = { centerY } // Name in the middle if no label
115
+ />
116
+ ) }
96
117
</ React . Fragment >
97
118
) ;
98
119
} ) }
@@ -116,16 +137,16 @@ export default function Screen({ canvasWidth, canvasHeight, sprites, vfg }) {
116
137
* @returns Control panel
117
138
*/
118
139
export function ControlPanel ( {
119
- playButtonColor,
120
- pauseButtonColor,
121
- stepInfoIndex,
122
- onPreviousClick,
123
- onStartClick,
124
- onPauseClick,
125
- onNextClick,
126
- onResetClick,
127
- onSpeedControllor,
128
- } ) {
140
+ playButtonColor,
141
+ pauseButtonColor,
142
+ stepInfoIndex,
143
+ onPreviousClick,
144
+ onStartClick,
145
+ onPauseClick,
146
+ onNextClick,
147
+ onResetClick,
148
+ onSpeedControllor,
149
+ } ) {
129
150
return (
130
151
< React . Fragment >
131
152
< IconButton
@@ -242,13 +263,13 @@ export function StepScreen({ stepInfoIndex, stepItem, stepInfo, onStepClick }) {
242
263
* @returns
243
264
*/
244
265
export function GoalScreen ( {
245
- sprites,
246
- subGoal,
247
- selectedSubGoals,
248
- showKey,
249
- onSubItemClick,
250
- onSubgoalStepItemClick,
251
- } ) {
266
+ sprites,
267
+ subGoal,
268
+ selectedSubGoals,
269
+ showKey,
270
+ onSubItemClick,
271
+ onSubgoalStepItemClick,
272
+ } ) {
252
273
return (
253
274
< React . Fragment >
254
275
< div className = { styles . sub_title } style = { { position : "relative" } } >
0 commit comments