我正在开发一个小游戏,其中有椭圆作为目标,并且在那些显示字母的椭圆上显示文本块(每 3 秒更改一次)。
我想实现一个功能,其中用户按下键盘上的字母,如果与某个文本块上显示的字母匹配,则将开始一个名为“t1_hit”的故事板(动画)。
我尝试了以下方法,但它不起作用。
XAML(仅文本块部分):
<TextBlock x:Name="txbTarget1" Height="26" Canvas.Left="571" TextWrapping="Wrap" Canvas.Top="92" Width="23" FontWeight="Bold" FontSize="16" Foreground="#FF6BE824" RenderTransformOrigin="0.5,0.5" KeyDown="txbTarget1_KeyDown" ><TextBlock.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</TextBlock.RenderTransform><Run Language="en-in"/></TextBlock>
C#:
string k = "";
private void txbTarget1_KeyDown(object sender, KeyEventArgs e)
{
k = txbTarget1.Text;
KeyConverter x = new KeyConverter();
Key kinput = (Key)x.ConvertFromString(k);
if (e.Key == kinput)
{
Storyboard h1 = this.FindResource("t1_Hit") as Storyboard;
h1.Begin();
}
}
任何帮助表示赞赏。谢谢