标题:windows编程里 想通过键盘方向来控制 图片人物的面向方向 该怎么写?
只看楼主
winnerflyer
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-3-14
 问题点数:0 回复次数:7 
windows编程里 想通过键盘方向来控制 图片人物的面向方向 该怎么写?
查了不少东西,没有一个切题的完整例子,我还是不会。
wndpro()里面该怎么写?
我的函数有一个void NPCmove(),里面参数怎么设?
#define KEYSTATE(vknum) ((GetAsyncKeyState(vknum) & 0x8000) ? TRUE : FALSE)
void NPCmove()
{
    static int CurrentFrame = 0; // 当前动作的编号
    static int Direction = 0;    // 当前的方向     
    rect.top = Direction*48; rect.bottom = (Direction+1)*48;
    rect.left = CurrentFrame*32; rect.right = (CurrentFrame+1)*32;

   if( KEYSTATE(VK_LEFT) )//GetAsyncKeyState(VK_LEFT)) // 如果 左箭头 被按下
    {
        Direction = 1;    // 赋值方向为 1
        CurrentFrame++;
    }
    if( KEYSTATE(VK_RIGHT ))//GetAsyncKeyState(VK_RIGHT))

    {
        Direction = 3;
        CurrentFrame++;
    }
    if( KEYSTATE(VK_UP) )//GetAsyncKeyState(VK_UP))
 
    {
        Direction = 2;
        CurrentFrame++;
    }
    if( KEYSTATE(VK_DOWN)) //GetAsyncKeyState(VK_DOWN ))

    {
        Direction = 0;
        CurrentFrame++;
    }
    if(CurrentFrame==3)
        CurrentFrame = 0; // 这个步骤能够保证动作的循环
    else if(VK_ESCAPE)//GetAsyncKeyState(VK_ESCAPE))//主菜单
        {
            while(GetAsyncKeyState(VK_ESCAPE)) {}        
            return;
        }
    else return;
}
搜索更多相关主题的帖子: windows 键盘 人物 
2008-07-22 13:39
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
得分:0 
你想弄个2D游戏呀。一般来说这个图片是有8个方向的(或更多),通过按键来确定要绘制的区域来确定方向。

=×&D o I p R e E n C g T l X&×=
2008-07-23 01:31
winnerflyer
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-3-14
得分:0 
我现在只是想试试方向键控制人物面向(人物不动的),
可以帮我写一个 例子么?来获取方向键并传给想操作的函数。
或者说按键消息怎么传给 函数
我表达混乱,抱歉...............
2008-07-23 08:29
XiaoLian
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-7-23
得分:0 
对游戏输入方面没什么研究 不过你可以试着学习DirectXInput 里面封装了你所需要的相关操作
2008-07-23 10:44
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
得分:0 
不知道你的程序是什么样的细节,就算是写出来你也是用不了的。
以下是我写的编辑器。这个函数与之相联的类相当之多,就算给你也是用不了的。
所这还是要你自己写。

1.JPG (24.7 KB)


2.JPG (26.16 KB)

=×&D o I p R e E n C g T l X&×=
2008-07-23 11:00
winnerflyer
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-3-14
得分:0 
我还是 学学directXinput吧,又是一个开始........
2008-07-23 11:18
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
得分:0 
5楼是做游戏开发的?

学习需要安静。。海盗要重新来过。。
2008-07-23 21:15
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
得分:0 
是呀。做网游

=×&D o I p R e E n C g T l X&×=
2008-07-24 10:20



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-224797-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.177457 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved