游戏开发论坛

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

SDK下的定时回调函数如何访问非静态成员?

[复制链接]

17

主题

177

帖子

177

积分

注册会员

Rank: 2

积分
177
QQ
发表于 2005-2-11 17:19:00 | 显示全部楼层 |阅读模式
RT

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2005-2-11 18:50:00 | 显示全部楼层

Re:SDK下的定时回调函数如何访问非静态成员?

传个类的指针进去呗。。

0

主题

2

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2005-2-17 01:18:00 | 显示全部楼层

Re: Re:SDK下的定时回调函数如何访问非静态成员?

tarkey: Re:SDK下的定时回调函数如何访问非静态成员?

传个类的指针进去呗。。

恩,不过要全局,定时回调函数格式固定不能用参数传

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2005-2-17 10:37:00 | 显示全部楼层

Re:SDK下的定时回调函数如何访问非静态成员?

需要用静态函数转发

17

主题

177

帖子

177

积分

注册会员

Rank: 2

积分
177
QQ
 楼主| 发表于 2005-2-18 06:26:00 | 显示全部楼层

Re:SDK下的定时回调函数如何访问非静态成员?

好复杂哦 有没有源代码发我看看呀。这样来得简单又快些

6

主题

40

帖子

40

积分

注册会员

Rank: 2

积分
40
发表于 2005-2-22 00:27:00 | 显示全部楼层

Re:SDK下的定时回调函数如何访问非静态成员?

比如
m_pTimer->SetTimer(60, (DWORD)this, 0, 0, OnTimer);
其中this为本类的指针
void CAnimScript::OnTimer(DWORD dwPara1, DWORD dwTimerID, DWORD dwPara2)
{
        int iObjCount = 0; // 物体名称计数
        char* caName = "sprite";


        CAnimScript* pCtrl = (CAnimScript*)dwPara1;
        if (pCtrl->iCount > S_MAX-1) pCtrl->iCount = S_MAX-1;

pCtrl就是上面的this
知道怎么用了吧
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-24 11:05

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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