zoukankan      html  css  js  c++  java
  • 用键盘事件控制动画

    用键盘事件控制动画

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

  • 相关阅读:
    02-Maven安装配置
    01-Maven功能特点
    安装Jenkins服务
    Python操作Saltstack
    基于Python自动上传包到nexus仓库
    避免代码merge后无法构建发布(GItlabCI + Jenkins)
    SonarQube-Centos环境设置为系统服务
    SonarQube配置LDAP认证集成
    Centos7 搭建Go语言编译环境
    OpenShift-EFK日志管理
  • 原文地址:https://www.cnblogs.com/meimao5211/p/3426935.html
Copyright © 2011-2022 走看看