gpt4 book ai didi

c++ - CCPoint 到 float 转换

转载 作者:行者123 更新时间:2023-11-28 07:39:58 25 4
gpt4 key购买 nike

我想做的是:将我触摸屏幕的坐标放入 2 个 float x 和 y 中。

我的理解是,要获得我触摸位置的坐标,我应该使用 getLocation()。所以我写了一小段代码:

CCTouch *pTouch;
CCPoint *xy = pTouch->getLocation();

我是怎么理解的(这很可能是错误的),这应该将变量 xy 设置为等于屏幕被触摸位置的 opengl 坐标。如果是这种情况,我如何将这个 CCPoint 变量转换为一个或两个 float (x 和 y 浮点值)?

最佳答案

这是您可以执行的操作。在场景类的 init() 函数中添加调用

setTouchEnabled( true );

告诉cocos2d-x通过在场景中适当调用ccTouchBegan、ccTouchMoved、ccTouchCancelled和ccTouchEnded告诉你触摸事件。现在,当这些函数被调用时,你会得到一个

cocos2d::CCTouch *touch

您可以使用它来获取触摸坐标。我在游戏中所做的是

CCPoint p = touch->getLocationInView();
p = CCDirector::sharedDirector()->convertToGL(p);

和 p 将包含触摸的坐标。您可以通过执行以下操作来获取触摸的 x 和 y 坐标的浮点值

float x = p.x;
float y = p.y;

希望对您有所帮助。 :)

关于c++ - CCPoint 到 float 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16042949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com