用键盘事件控制动画

用键盘事件控制动画

一个Ellipse(小球),刚开始是静止的,我想通过键盘上的方向键控制他的运动方向,效果很简单:按住某方向键,小球就会像该方向移动,放开方向键则停下。
由于Ellipse似乎无法获得keydown和keyup事件,所以我没办法实现这个看似简单的效果,help me!

Iran 发表于 2008-6-21 00:37:45

 

Ellipse 支持的事件

Loaded, MouseEnter, MouseLeave, MouseLeftButtonDown, MouseLeftButtonUp, MouseMove

可以将Ellipse置入一个Canvas中,通过调用Canvas实现.

这里是我上传的Demo

XAML
<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>


JavaScript
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控制移动的量

转载于:https://www.cnblogs.com/meimao5211/p/3426935.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值