游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1746|回复: 5

简单的关于贴图的问题

[复制链接]

5

主题

16

帖子

22

积分

注册会员

Rank: 2

积分
22
发表于 2004-9-14 16:37:00 | 显示全部楼层 |阅读模式
众所周知:贴图只要用到
MakeRect(x1,y1,x2,y2);
lpDDSBuffer->BltFast(0,0,lpDDSMap,&r,SrcKey);
即可以贴(x1,y1,x2,y2)范围的图形,现在我要用鼠标左键来得到一个变量的值,付给x1,y1,我写了一个函数:
getpoint()
{
        POINT        curpos;
        GetCursorPos(&curpos);
        x1=curpos.x;
        y1=curpos.y;

}
然后,在主窗体的鼠标消息循环写的是:
case WM_LBUTTONDOWN:
       getpoint();
       break;
但是没有得到x1,y1的值,是我函数写错了,还是窗体机制的什么问题
那个能告诉我怎么样才能得到这个鼠标左键按下的值。
其实说白了,就是确定鼠标在图形上的坐标,游戏中常有比如鼠标点击位置就是人物移动的位子。

33

主题

669

帖子

669

积分

高级会员

Rank: 4

积分
669
QQ
发表于 2004-9-14 16:53:00 | 显示全部楼层

Re:简单的关于贴图的问题

你Flip了没有,还有x1,y1的定义位置对不对?

5

主题

16

帖子

22

积分

注册会员

Rank: 2

积分
22
 楼主| 发表于 2004-9-14 21:10:00 | 显示全部楼层

Re:简单的关于贴图的问题

肯定filp()了
关键是怎样取到鼠标左键点击时的那个点的坐标值,我说过就像以前轩辕剑的时候可以用鼠标左键点一个地方,然后人物移动到那个地方那种功能

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
发表于 2004-9-15 20:38:00 | 显示全部楼层

Re:简单的关于贴图的问题

试试Win32API吧,不过在DX全屏模式下没用过,如果不行的话我就不知道了。

5

主题

16

帖子

22

积分

注册会员

Rank: 2

积分
22
 楼主| 发表于 2004-9-15 22:05:00 | 显示全部楼层

Re:简单的关于贴图的问题

我知道了,其实就是用windows的消息机制就可以了,不过还是非常感谢大家的踊跃讨论哈,再次感谢,小弟这里谢过了哦!答案如下,写出来希望以后大家有同样问题的可以尽点绵力,给点帮助!
x=LOWORD(lParam); y=HIWORD(lParam)

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2004-9-15 23:40:00 | 显示全部楼层

Re:简单的关于贴图的问题

GetCursorPos 得到的是桌面鼠标的位置,你需要调用 ScreenToClient 函数变换到相对于你的窗口位置。如果直接在 windows 消息处理来接受鼠标位置,是相对于窗口位置的,不需要做坐标变换。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-8-18 16:03

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表