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.有幾個網站禁止使用螢幕捕獲
