Skip to content

Commit c8fb79f

Browse files
authored
Merge pull request #15 from Lin064/label_display
[14] Add label display of animation
2 parents f0b9184 + 6a97961 commit c8fb79f

File tree

1 file changed

+51
-30
lines changed

1 file changed

+51
-30
lines changed

src/pages/PageFour/screenComponents.jsx

Lines changed: 51 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@ export default function Screen({ canvasWidth, canvasHeight, sprites, vfg }) {
5656
((sprite.maxX - sprite.minX) * canvasHeight) / 2;
5757
y = canvasHeight - sprite.minY * canvasHeight;
5858
}
59+
const spriteWidth = (sprite.maxX - sprite.minX) * canvasHeight;
60+
const spriteHeight = (sprite.maxY - sprite.minY) * canvasHeight;
61+
const centerY = y + spriteHeight / 2;
5962
// Draw the sprite with a text
6063
return (
6164
<React.Fragment key={i}>
@@ -65,7 +68,7 @@ export default function Screen({ canvasWidth, canvasHeight, sprites, vfg }) {
6568
"data:image/png;base64," +
6669
vfg.imageTable.m_values[
6770
vfg.imageTable.m_keys.indexOf(sprite.prefabimage)
68-
]
71+
]
6972
}
7073
name={sprite.name}
7174
anchor={anchor}
@@ -77,22 +80,40 @@ export default function Screen({ canvasWidth, canvasHeight, sprites, vfg }) {
7780
tint={
7881
"color" in sprite
7982
? 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+
])
8487
: null
8588
}
8689
alpha={sprite.color.a}
8790
/>
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+
)}
96117
</React.Fragment>
97118
);
98119
})}
@@ -116,16 +137,16 @@ export default function Screen({ canvasWidth, canvasHeight, sprites, vfg }) {
116137
* @returns Control panel
117138
*/
118139
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+
}) {
129150
return (
130151
<React.Fragment>
131152
<IconButton
@@ -242,13 +263,13 @@ export function StepScreen({ stepInfoIndex, stepItem, stepInfo, onStepClick }) {
242263
* @returns
243264
*/
244265
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+
}) {
252273
return (
253274
<React.Fragment>
254275
<div className={styles.sub_title} style={{ position: "relative" }}>

0 commit comments

Comments
 (0)