用键盘事件控制动画
一个Ellipse(小球),刚开始是静止的,我想通过键盘上的方向键控制他的运动方向,效果很简单:按住某方向键,小球就会像该方向移动,放开方向键则停下。由于Ellipse似乎无法获得keydown和keyup事件,所以我没办法实现这个看似简单的效果,help me! Ellipse 支持的事件
[quote]
Loaded, MouseEnter, MouseLeave, MouseLeftButtonDown, MouseLeftButtonUp, MouseMove
[/quote]
可以将Ellipse置入一个Canvas中,通过调用Canvas实现.
这里是我上传的[url=http://www.mdong.org/res/silverlight/mouse_move]Demo[/url]
XAML
[code] <Canvas
xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="640" Height="480"
Background="White"
x:Name="Page"
KeyDown="onKeyDown"
//键盘事件定义在主Canvas
>
<Canvas x:Name="mdong">
<Ellipse Fill="#FFEA0D0D" Stroke="#FF000000" Width="134" Height="134" Canvas.Left="244" Canvas.Top="168"/>
</Canvas>
</Canvas>[/code]
JavaScript
[code]function onKeyDown(sender,keyEventArgs)
{
var mdong=sender.findName("mdong");
if(keyEventArgs.key==14) //14左
mdong["Canvas.Left"]-=10;
else if(keyEventArgs.key==16) //16右
mdong["Canvas.Left"]+=10;
else if(keyEventArgs.key==17) //17下
mdong["Canvas.Top"]+=10;
else if(keyEventArgs.key==15) //15上
mdong["Canvas.Top"]-=10;
}
//10控制移动的量[/code]
[[i] 本帖最后由 Iran 于 2008-6-21 09:10 编辑 [/i]]
3Q~~
3Q~~页:
[1]