是这样的,现在小弟要做一个游戏,要刷新图片。以身体为例子
代码如下:
在类里面我还定义了一个
public int[] keyRect = new int[1]; public Page1()
{
keyRect[0] = 0;
InitializeComponent();
Body.KeyDown += new KeyEventHandler(Body_KeyDown);//判断键盘摁键
DispatcherTimer dispatcherTimer = new DispatcherTimer();//根据键盘摁键情况改变图片位置
dispatcherTimer.Tick += new EventHandler(Timer_Tick);//刷新页面
dispatcherTimer.Interval = TimeSpan.FromMilliseconds(100);
dispatcherTimer.Start(); }我想通过数组的状况值的情况来表示按键松开或者是摁下,当一直摁下C键时为 keyRect 为1,松开为0.由 keyRect 值在 dispatcherTimer() 中修改图片位置情况,最后由 Timer_Tick 函数刷新页面然后使身体动起来
private void Body_KeyDown(object sender, KeyEventArgs e)
{
if( e.Key == Key.C )
{
keyRect[0] = keyRect[0] + 1;
}
}
private void dispatcherTimer()
{
}
private void Timer_Tick(object sender, EventArgs e)
{
}
补充,如果按着C键不放,数组值则不变,松开改变,以此达到图片受键盘控制连续变化的效果
代码如下:
在类里面我还定义了一个
public int[] keyRect = new int[1]; public Page1()
{
keyRect[0] = 0;
InitializeComponent();
Body.KeyDown += new KeyEventHandler(Body_KeyDown);//判断键盘摁键
DispatcherTimer dispatcherTimer = new DispatcherTimer();//根据键盘摁键情况改变图片位置
dispatcherTimer.Tick += new EventHandler(Timer_Tick);//刷新页面
dispatcherTimer.Interval = TimeSpan.FromMilliseconds(100);
dispatcherTimer.Start(); }我想通过数组的状况值的情况来表示按键松开或者是摁下,当一直摁下C键时为 keyRect 为1,松开为0.由 keyRect 值在 dispatcherTimer() 中修改图片位置情况,最后由 Timer_Tick 函数刷新页面然后使身体动起来
private void Body_KeyDown(object sender, KeyEventArgs e)
{
if( e.Key == Key.C )
{
keyRect[0] = keyRect[0] + 1;
}
}
private void dispatcherTimer()
{
}
private void Timer_Tick(object sender, EventArgs e)
{
}
补充,如果按着C键不放,数组值则不变,松开改变,以此达到图片受键盘控制连续变化的效果
解决方案 »
- Directory.GetFiles的文件过滤问题
- vs2010中无法连接到数据库
- c# 将获取了句柄的窗体移动到某一位置 问题2
- datetimepicker控件 置成两个减号 - -
- 客户端在使用导Word文档时是否需要安装WORD软件?
- 如何让DataGridView按竖的方向显示数据库中的字段内容
- 如何实现用户登入后加一分操作
- 请前辈们帮帮忙,为何经常出现此错误,和什么有关系,先谢过啦!
- MVC4 在一个视图上存储多个表
- 小式一把,提个问题!
- C# 如何反序列化这个类 XmlDispatchReply.Deserialize
- ComboBox使用AutoCompleteCustomSource,出现异常:尝试读取或写入受保护的内存
另外,提醒你一下,键按着不放会一直激发KeyDown事件的。