cocos2dx画连接任意两点的绳子【始终连接触摸点与屏幕中心】
最近在搞连线的游戏,之前的博客里也提到了用DrawNode画粗线的方法。(http://blog.csdn.net/no99es/article/details/38823673) 线画出来之后,就想用绳子代替它,由于三角函数忘光了,耽误了时间,今天终于搞完了,记录下来。 使用的绳子图片: 网上找的,
最近在搞连线的游戏,之前的博客里也提到了用DrawNode画粗线的方法。(http://blog.csdn.net/no99es/article/details/38823673)
线画出来之后,就想用绳子代替它,由于三角函数忘光了,耽误了时间,今天终于搞完了,记录下来。
使用的绳子图片:
网上找的,横向的绳子。
原理:
用setTextureRect方法,显示指定长度的绳子,然后根据触摸点坐标,进行旋转。
下面贴出两段关键代码:
/*
*添加触摸监听
*/
auto myListener = EventListenerTouchOneByOne::create();
//myListener->setSwallowTouches(true);
myListener->onTouchBegan = CC_CALLBACK_2(LineTest::TouchBegan, this);
myListener->onTouchMoved = CC_CALLBACK_2(LineTest::TouchMoved, this);
myListener->onTouchEnded = CC_CALLBACK_2(LineTest::TouchEnded, this);
_eventDispatcher->addEventListenerWithSceneGraphPriority(myListener, this);
触摸方法里,Began跟Moved代码差不多,大家自由发挥~~
bool LineTest::TouchBegan(Touch* touch, Event* event)
{
spline->setVisible(true);
//长度,触摸点到屏幕中心的距离
int texturehight = sqrt(pow((touch->getLocation().x - visibleSize.width / 2 + origin.x), 2) + pow((touch->getLocation().y - visibleSize.height / 2 + origin.y), 2));
spline->setTextureRect(Rect(0, 0, texturehight, 40));
//旋转
float x = touch->getLocation().x - visibleSize.width / 2.0f + origin.x;
float y = touch->getLocation().y - visibleSize.height / 2.0f + origin.y;
float f = GetRotationDegree(x, y);
spline->setRotation(f);
return true;
}
///////////////////获取旋转角度//////////////
float LineTest::GetRotationDegree(float x, float y)
{
if (x == 0 && y == 0)
{
return 0;
}
float result;
if (x == 0&&y>0)
{
return 90;
}
else if (x == 0 && y
{
return 180;
}
else
{
float temp = y / x;
result = - atan(temp) * 180.0 / M_PI;
if (x>0)
{
return result;
}
else
{
return result+180;
}
}
}
效果:

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

keep体脂秤怎么连接?keep是有专门设计的体脂秤,但是多数的用户不知道如何连接keep的体脂秤,接下来就是小编为用户带来的keep体脂秤连接方法图文教程,感兴趣的用户快来一起看看吧!keep体脂秤怎么连接1、首先打开keep软件,进入到主页面点击右下角【我的】选择其中的【智能硬件】;2、然后在我的智能设备页面,中间【添加设备】按钮;3、之后在选择你要添加的设备界面,选择【智能体脂/体重秤】;4、接着在选择设备型号页面,点击【keep体脂秤】选项;5、最后在下图所示的界面,最底部的【立即添加】

屏幕截图功能在您的iPhone上不起作用吗?截屏非常简单,因为您只需同时按住“提高音量”按钮和“电源”按钮即可抓取手机屏幕。但是,还有其他方法可以在设备上捕获帧。修复1–使用辅助触摸使用辅助触摸功能截取屏幕截图。步骤1–转到您的手机设置。步骤2–接下来,点击以打开“辅助功能”设置。步骤3–打开“触摸”设置。步骤4–接下来,打开“辅助触摸”设置。步骤5–打开手机上的“辅助触摸”。步骤6–打开“自定义顶级菜单”以访问它。步骤7–现在,您只需将这些功能中的任何一个链接到屏幕捕获即可。因此,点击那里的首

很多朋友在使用手机时,突然发现手机的操作界面变成了“黑白”的颜色,不知道是什么原因导致的,也不知道该如何解决,本期文章以安卓手机为例,教大家如何让手机的操作界面颜色恢复正常。一、设置打开手机的界面,在操作界面找到“齿轮状”图标。如下图:点击该图标,即可进入手机的设置界面。二、选项手机的操作界面变成了黑白颜色,这与手机的“显示”设置有关,进入手机的设置界面以后,下拉菜单找到“显示和主题”选项,如下图:然后点击“显示和主题”选项,进入详情页。三、改变屏幕颜色进入“显示和主题”选项之后,下拉菜单找到“

从主屏幕中删除了重要内容并试图将其取回?您可以通过多种方式将应用程序图标放回屏幕。我们已经讨论了您可以遵循的所有方法,并将应用程序图标放回主屏幕如何在iPhone中撤消从主屏幕中删除正如我们之前提到的,有几种方法可以在iPhone上恢复此更改。方法1–替换应用程序库中的应用程序图标您可以直接从应用程序库将应用程序图标放置在主屏幕上。第1步–横向滑动以查找应用程序库中的所有应用程序。步骤2–找到您之前删除的应用程序图标。步骤3–只需将应用程序图标从主库拖动到主屏幕上的正确位置即可。这是将应用程序图

相信很多小伙伴都遇到过手机突然提示:请勿遮挡屏幕顶端的问题,那么手机为什么会突然出现这样的现象呢?下面我们就一起来看一下吧。其实出现这种情况的时候,就是有东西遮挡了手机的距离传感器,所以手机屏幕上才收到这个提示。那么好好的为什么会突然收到这样的提示呢?其实可能就是因为你无意间开启了手机中的【防误触模式】,所以才会出现这样的问题。那么我们应该如何关闭呢?其实方法很简单下面我们就一起来看一下吧。方法1:直接按照屏幕提示的通过快捷键组合进行关闭。方法2:如果上面的方法没有用的话,还可以通过打开手机【设

7月23日消息,博主数码闲聊站爆料称,小米15Pro电池容量增大至6000mAh,支持90W有线闪充,这将是小米数字系列电池最大的Pro机型。此前数码闲聊站透露,小米15Pro的电池拥有超高能量密度,硅含量远高于竞品。硅基电池在2023年大规模试水后,第二代硅负极电池被确定为行业未来发展方向,今年将迎来直接竞争的高峰。1.硅的理论克容量可达4200mAh/g,是石墨克容量的10倍以上(石墨的理论克容量372mAh/g)。对于负极而言,当锂离子嵌入量达到最大时的容量为理论克容量,这意味着相同重量下

虽然距离iPhone16系列发布还要许久,但外观和配置相关爆料就没断过。据韩国媒体SisaJournal报道,苹果计划在即将推出的iPhone16系列手机中引入全新的超窄边框技术。该技术涉及将内部铜线卷成更紧凑的结构,以缩小手机底部显示屏的边框宽度,从而实现更大尺寸的显示屏。这一创新举措旨在提升用户体验,让用户享受更广阔的视野和更沉浸式的娱乐体验。苹果一直致力于不断改进其产品设计和技术,为用户带来更先进的功能和性能。iPhone16系列手机的推出将进一步巩固苹果在智能另据@刹那数码爆料,苹果新一

您是否正在尝试在手机屏幕上录制某些内容,并且它正在变黑?通常,您可以从控制中心启动屏幕录制。在某些情况下,您无法在屏幕上录制项目。我们已经提到了所有方案以及可以帮助您正常录制屏幕的可能解决方案列表。屏幕录制变黑的原因–如果您在iPhone屏幕上播放时尝试录制任何受DRM(数字版权管理)保护的内容,您将无法得到任何东西。输出将是一个漆黑的屏幕。所有领先的OTT平台,如Netflix、Disney+、Hulu和Peacock,都有这个DRM,可以阻止任何屏幕录制功能。2.有几个网站禁止使用屏幕捕获
