本發(fā)明涉及輔助計(jì)算技術(shù)領(lǐng)域,尤其是涉及一種出射力度的提示方法和裝置。
背景技術(shù):
在拋物線射擊應(yīng)用程序中,常見的場景是用戶根據(jù)風(fēng)力、角度兩個(gè)關(guān)鍵因素計(jì)算出其控制的操作對象a命中對象b需要的力度,再使用該力度控制操作對象a沿應(yīng)用程序計(jì)算出的軌跡做拋物運(yùn)動(dòng),并最后確定是否命中。
由于拋體運(yùn)動(dòng)的軌跡計(jì)算涉及風(fēng)力、角度、力度、重力、物體質(zhì)量等多種因素,并且需要結(jié)合目標(biāo)距離進(jìn)行,用戶無法在短時(shí)間內(nèi)計(jì)算出命中目標(biāo)對象所需要的力度,只能根據(jù)個(gè)人經(jīng)驗(yàn)進(jìn)行估算,得到的估算結(jié)果往往存在偏差,而且估算耗時(shí)長,不僅耗費(fèi)用戶時(shí)間,也加大了用戶對于這類應(yīng)用程序的使用難度。
針對上述用戶難以短時(shí)間計(jì)算出拋物線射擊的力度的問題,目前尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種出射力度的提示方法和裝置,向用戶提供力度提示,以降低用戶的估算力度造成的學(xué)習(xí)成本和操作難度。
第一方面,本發(fā)明實(shí)施例提供了一種出射力度的提示方法,包括:獲取當(dāng)前顯示場景中虛擬對象的出射角度;根據(jù)出射角度和當(dāng)前顯示場景對應(yīng)的參數(shù),計(jì)算虛擬對象命中目標(biāo)對象需要的力度值;參數(shù)至少包括以下之一:虛擬對象的坐標(biāo)、虛擬對象的質(zhì)量、目標(biāo)對象的坐標(biāo)、目標(biāo)對象的速度、重力加速度、阻力和風(fēng)力;在當(dāng)前顯示場景的指定區(qū)域顯示力度值對應(yīng)的力度提示信息。
結(jié)合第一方面,本發(fā)明實(shí)施例提供了第一方面的第一種可能的實(shí)施方式,其中,根據(jù)出射角度和當(dāng)前顯示場景對應(yīng)的參數(shù),計(jì)算虛擬對象命中目標(biāo)對象需要的力度值包括:定義虛擬對象在運(yùn)動(dòng)過程中與目標(biāo)對象處于相同高度時(shí)的水平坐標(biāo)計(jì)算公式;計(jì)算公式包括當(dāng)前場景的參數(shù)、出射角度和力度參數(shù);通過二分法查找水平坐標(biāo)計(jì)算公式的結(jié)果與目標(biāo)對象的水平坐標(biāo)相同時(shí)的力度參數(shù);將力度參數(shù)作為力度值。
結(jié)合第一方面的第一種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第一方面的第二種可能的實(shí)施方式,其中,通過二分法查找水平位置計(jì)算公式的結(jié)果與目標(biāo)對象的水平坐標(biāo)相同時(shí)的力度參數(shù)包括:將第一值代入計(jì)算公式得到虛擬對象的水平坐標(biāo);第一值為力度參數(shù)最小值與最大值的中間值;比較虛擬對象的水平坐標(biāo)與目標(biāo)對象的水平坐標(biāo);當(dāng)虛擬對象的水平坐標(biāo)小于目標(biāo)對象的水平坐標(biāo)時(shí),將第二值代入計(jì)算公式得到虛擬對象的水平坐標(biāo)并進(jìn)行比較步驟;第二值為第一值與最大值的中間值;當(dāng)虛擬對象的水平坐標(biāo)大于目標(biāo)對象的水平坐標(biāo)時(shí),將第三值代入計(jì)算公式得到虛擬對象的水平坐標(biāo)并進(jìn)行比較步驟;第三值為最小值與第一值的中間值;當(dāng)虛擬對象的水平坐標(biāo)等于目標(biāo)對象的水平坐標(biāo)時(shí),將當(dāng)前值作為查找到的力度參數(shù)。
結(jié)合第一方面,本發(fā)明實(shí)施例提供了第一方面的第三種可能的實(shí)施方式,其中,在當(dāng)前顯示場景的指定區(qū)域顯示力度值對應(yīng)的力度提示信息包括:根據(jù)力度值占力度最大值的比例確定力度值在力度控制區(qū)域?qū)?yīng)的位置;在對應(yīng)的位置顯示力度提示符號;力度提示符號包括形狀、顏色和/或數(shù)值。
結(jié)合第一方面,本發(fā)明實(shí)施例提供了第一方面的第四種可能的實(shí)施方式,其中,在當(dāng)前顯示場景的指定區(qū)域顯示力度值對應(yīng)的力度提示信息包括:確定力度值在力度控制區(qū)域?qū)?yīng)的刻度;在對應(yīng)的刻度處顯示力度提示符號;力度提示符號為提示刻度線。
結(jié)合第一方面的第一種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第一方面的第五種可能的實(shí)施方式,其中,當(dāng)通過二分法查找水平坐標(biāo)計(jì)算公式的結(jié)果與目標(biāo)對象的水平坐標(biāo)相同時(shí)的力度參數(shù)超出當(dāng)前顯示場景對應(yīng)的力度參數(shù)的范圍時(shí),在指定區(qū)域顯示無結(jié)果提示消息。
結(jié)合第一方面的第五種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第一方面的第六種可能的實(shí)施方式,還包括:在指定區(qū)域顯示更改出射角度的提示。
第二方面,本發(fā)明實(shí)施例還提供一種出射力度的提示裝置,包括:出射角度獲取模塊,用于獲取當(dāng)前顯示場景中虛擬對象的出射角度;力度值計(jì)算模塊,用于根據(jù)出射角度和當(dāng)前顯示場景對應(yīng)的參數(shù),計(jì)算虛擬對象命中目標(biāo)對象需要的力度值;參數(shù)至少包括以下之一:虛擬對象的坐標(biāo)、虛擬對象的質(zhì)量、目標(biāo)對象的坐標(biāo)、目標(biāo)對象的速度、重力加速度、阻力和風(fēng)力;力度提示模塊,用于在當(dāng)前顯示場景的指定區(qū)域顯示力度值對應(yīng)的力度提示信息。
結(jié)合第二方面,本發(fā)明實(shí)施例提供了第二方面的第一種可能的實(shí)施方式,其中,力度值計(jì)算模塊包括:公式定義單元,用于定義虛擬對象在運(yùn)動(dòng)過程中與目標(biāo)對象處于相同高度時(shí)的水平坐標(biāo)計(jì)算公式;計(jì)算公式包括當(dāng)前場景的參數(shù)、出射角度和力度參數(shù);查找單元,用于通過二分法查找水平坐標(biāo)計(jì)算公式的結(jié)果與目標(biāo)對象的水平坐標(biāo)相同時(shí)的力度參數(shù);確定單元,用于將力度參數(shù)作為力度值。
結(jié)合第二方面,本發(fā)明實(shí)施例提供了第二方面的第一種可能的實(shí)施方式,其中,力度提示模塊還用于:根據(jù)力度值占力度最大值的比例確定力度值在力度控制區(qū)域?qū)?yīng)的位置;在對應(yīng)的位置顯示力度提示符號;力度提示符號包括形狀、顏色和/或數(shù)值。
本發(fā)明實(shí)施例帶來了以下有益效果:本發(fā)明實(shí)施例提供的出射力度的提示方法和裝置,可以通過出射角度和當(dāng)前顯示場景對應(yīng)的參數(shù),計(jì)算虛擬對象命中目標(biāo)對象需要的力度值,并提供可視化的提示供用戶輸入力度使用,可以減少用戶估算力度需要的時(shí)間,加強(qiáng)用戶估算力度的準(zhǔn)確性,降低了用戶的學(xué)習(xí)成本和操作難度,提升了交互場景下的用戶體驗(yàn)度。
本發(fā)明的其他特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說明如下。
附圖說明
為了更清楚地說明本發(fā)明具體實(shí)施方式或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對具體實(shí)施方式或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施方式,對于本領(lǐng)域技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種出射力度的提示方法的流程示意圖;
圖2為本發(fā)明實(shí)施例提供的一種出射力度的提示方法的步驟s13的流程示意圖;
圖3為本發(fā)明實(shí)施例提供的一種力度提示符號的示意圖;
圖4為本發(fā)明實(shí)施例提供的另一種力度提示符號的示意圖;
圖5為本發(fā)明實(shí)施例提供的一種出射力度的提示方法的步驟s13的流程示意圖;
圖6為本發(fā)明實(shí)施例提供的一種拋物線射擊游戲的提示方法的流程示意圖;
圖7為本發(fā)明實(shí)施例提供的一種出射力度的提示裝置的結(jié)構(gòu)示意圖;
圖8為本發(fā)明實(shí)施例提供的另一種出射力度的提示裝置的結(jié)構(gòu)示意圖;
圖9為本發(fā)明實(shí)施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
目前常見的拋物線射擊應(yīng)用需要用戶根據(jù)多種因素估算命中目標(biāo)對象所需要的力度,其估算結(jié)果往往存在偏差,而且估算耗時(shí)長,用戶的使用學(xué)習(xí)成本和操作難度高,基于此,本發(fā)明實(shí)施例提供的一種出射力度的提示方法和裝置,可以計(jì)算力度并提供力度提示,以降低用戶的學(xué)習(xí)成本和操作難度。為便于對本實(shí)施例進(jìn)行理解,首先對本發(fā)明實(shí)施例所公開的一種出射力度的提示方法進(jìn)行詳細(xì)介紹。
在介紹出射力度的提示方法前,需要先定義上述方法的應(yīng)用場景,應(yīng)用場景包括但不限于游戲、動(dòng)畫制作等需要控制虛擬對象的出射力度,并擊中某個(gè)目標(biāo)的場景。在本發(fā)明實(shí)施例中以射擊游戲應(yīng)用場景為例進(jìn)行說明。除非另外具體說明,否則在這些實(shí)施例中闡述的部件和步驟的相對步驟、數(shù)字表達(dá)式和數(shù)值并不限制本發(fā)明的范圍。
實(shí)施例1
本發(fā)明實(shí)施例1提供了一種出射力度的提示方法,參見圖1所示的出射力度的提示方法的流程示意圖,包括如下步驟:
步驟s11,獲取當(dāng)前顯示場景中虛擬對象的出射角度。
以射擊游戲應(yīng)用場景為例,上述虛擬對象可以是子彈或者炮彈等。上述出射角度可以是用戶輸入的,例如通過鍵盤上的上下方向按鍵、通過觸摸屏上的虛擬上下按鍵或者通過鼠標(biāo)等輸入裝置輸入;也可以是應(yīng)用在自動(dòng)瞄準(zhǔn)過程中自動(dòng)提供的出射角度;還可以是上回合結(jié)束時(shí)默認(rèn)保存的出射角度。
步驟s12,根據(jù)出射角度和當(dāng)前顯示場景對應(yīng)的參數(shù),計(jì)算虛擬對象命中目標(biāo)對象需要的力度值。
其中當(dāng)前顯示場景對應(yīng)的參數(shù)至少包括以下之一:虛擬對象的坐標(biāo)、虛擬對象的質(zhì)量、目標(biāo)對象的坐標(biāo)、目標(biāo)對象的速度、重力加速度、阻力和風(fēng)力。根據(jù)出射角度和上述參數(shù)可以得到虛擬對象的運(yùn)動(dòng)軌跡,當(dāng)該運(yùn)動(dòng)軌跡經(jīng)過該目標(biāo)對象的坐標(biāo)時(shí),即可確定為擊中該目標(biāo),此處需要說明的是虛擬對象和目標(biāo)對象均可以具有一定的體積,因此在運(yùn)動(dòng)軌跡與目標(biāo)對象的坐標(biāo)之間的距離小于設(shè)定閾值時(shí),即可認(rèn)為可以擊中目標(biāo)對象。
進(jìn)一步,上述計(jì)算并非每次射擊前均進(jìn)行,可以根據(jù)用戶的控制指示來確定是否進(jìn)行。例如在當(dāng)前顯示場景中設(shè)置力度提示虛擬按鍵,當(dāng)用戶點(diǎn)擊力度提示虛擬按鍵啟用力度提示功能后,進(jìn)行上述計(jì)算及后續(xù)的提示步驟,否則不進(jìn)行。
具體地,上述計(jì)算方式可以采用二分法查找,可以提高查找到命中需要的力度值的效率,然而也可以采用將力度范圍內(nèi)的力度值逐一帶入驗(yàn)算的方式。進(jìn)一步地,可以根據(jù)虛擬對象和目標(biāo)對象坐標(biāo)差和當(dāng)前風(fēng)力預(yù)先估計(jì)可能的力度范圍,再進(jìn)行上述查找或逐一帶入,以提高計(jì)算效率,縮短計(jì)算時(shí)間,以避免用戶等待時(shí)間過久,提高體驗(yàn)度。
步驟s13,在當(dāng)前顯示場景的指定區(qū)域顯示力度值對應(yīng)的力度提示信息。
在計(jì)算得到力度值后,將該力度值對應(yīng)的力度提示信息顯示在指定區(qū)域,即可視化了計(jì)算所得的力度值。其中,指定區(qū)域優(yōu)選在力度控制區(qū)域。常見的力度輸入方式包括力度條、圓式、彈性形變式等
作為步驟s13的一種實(shí)施方式,若上述力度輸入方式為線性增加的力度條式,請參閱圖2,步驟s13可以包括:
步驟s21,根據(jù)力度值占力度最大值的比例確定力度值在力度控制區(qū)域?qū)?yīng)的位置。
力度條式的輸入方式,是根據(jù)用戶按住力度鍵的時(shí)間來輸入力度的:用戶按下力度鍵后,力度條指示的力度不斷增加,用戶松開力度鍵,則力度條指示停止增加,完成力度輸入。力度的大小用長方形的純色圖形表示,力度可以從0到應(yīng)用預(yù)先設(shè)置的最大力度值之間遞增變化,按下力度鍵時(shí)間越長,輸入力度越大,則長方形純色圖形越長。
在力度條指示的力度為線性增加的情況下,可以通過力度值占最大值的比例確定該力度值對應(yīng)的位置。
步驟s22,在對應(yīng)的位置顯示力度提示符號。
為了可視化上述力度值,方便用戶觀察并按照該力度值控制輸入的力度,在該力度值對應(yīng)的力度位置顯示力度提示符號,該力度提示符號包括形狀、顏色、數(shù)值或者任意兩者的組合。參見圖3和圖4所示的力度提示符號的示意圖,在圖3中示出了以條形提示符號顯示的示意,在圖4中示出了以弧形提示符號(圖中虛線)顯示的示意。
當(dāng)目標(biāo)對象有多個(gè)的時(shí)候,可針對不同目標(biāo)對象分別計(jì)算力度值,并在力度控制區(qū)域?qū)?yīng)的位置顯示多個(gè)力度提示符號,給用戶多個(gè)目標(biāo)對象的提示。例如目標(biāo)對象包括三個(gè),可以在顯示場景中以a、b、c標(biāo)記,同時(shí)顯示在小地圖中,力度提示符號也以相同的a、b、c對應(yīng)標(biāo)記,如圖3和4所示,分別包括3條條形提示符號和3條弧形提示符號。
作為步驟s13的另一種實(shí)施方式,若上述力度輸入方式包括力度值刻度,請參閱圖5,步驟s13還可以包括:
步驟s51,確定力度值在力度控制區(qū)域?qū)?yīng)的刻度。
步驟s52,在對應(yīng)的刻度處顯示力度提示符號。
具體地,上述力度提示符號為提示刻度線。當(dāng)力度輸入方式包括力度刻度時(shí),可以在力度控制區(qū)域中對應(yīng)的刻度處顯示力度提示線,是用戶在輸入力度時(shí),清楚知道命中目標(biāo)對象需要的力度大小,方便使用。
本實(shí)施例提供的出射力度的提示方法,可以通過出射角度和當(dāng)前顯示場景對應(yīng)的參數(shù),計(jì)算虛擬對象命中目標(biāo)對象需要的力度值,并提供可視化的提示供用戶輸入力度使用,可以減少用戶估算力度需要的時(shí)間,加強(qiáng)用戶估算力度的準(zhǔn)確性,降低了用戶的學(xué)習(xí)成本和操作難度,提升了交互場景下的用戶體驗(yàn)度。
具體地,上述根據(jù)出射角度和當(dāng)前顯示場景對應(yīng)的參數(shù),計(jì)算虛擬對象命中目標(biāo)對象需要的力度值包括:
(1)定義虛擬對象在運(yùn)動(dòng)過程中與目標(biāo)對象處于相同高度時(shí)的水平坐標(biāo)計(jì)算公式;計(jì)算公式包括當(dāng)前場景的參數(shù)、出射角度和力度參數(shù);
(2)通過二分法查找水平坐標(biāo)計(jì)算公式的結(jié)果與目標(biāo)對象的水平坐標(biāo)相同時(shí)的力度參數(shù);
(3)將力度參數(shù)作為力度值。
其中,以虛擬對象進(jìn)行拋體運(yùn)動(dòng)為例進(jìn)行物理計(jì)算,涉及到影響拋體運(yùn)動(dòng)的因素有風(fēng)力,力度,角度,拋射物初始位置,重力加速度,空氣阻力因素,質(zhì)量,時(shí)間,目標(biāo)對象的速度,其他阻力等。首先定義虛擬對象在拋體運(yùn)動(dòng)過程中與目標(biāo)對象處于同一豎直高度時(shí)的水平坐標(biāo)計(jì)算公式為f,水平坐標(biāo)為pos,則有
pos=f(power,wind,angle,pos0,g,air,mass)
在公式中,power為力度,wind為風(fēng)力,angle為角度,pos0為拋射物初始位置,g為重力加速度,air為空氣阻力因素,mass為質(zhì)量。其中風(fēng)力為程序隨機(jī)生成,力度和角度是用戶輸入,空氣阻力因素是應(yīng)用預(yù)先設(shè)定的值,質(zhì)量也可以通過應(yīng)用設(shè)置。其中pos在程序中可以分別取pos.x和pos.y,分別表示拋射物所在位置的水平坐標(biāo)和豎直坐標(biāo)。
上述步驟(2)通過二分法查找的步驟具體包括:
1.將第一值代入計(jì)算公式得到虛擬對象的水平坐標(biāo);第一值為力度參數(shù)最小值與最大值的中間值;
2.比較虛擬對象的水平坐標(biāo)與目標(biāo)對象的水平坐標(biāo);
3.當(dāng)虛擬對象的水平坐標(biāo)小于目標(biāo)對象的水平坐標(biāo)時(shí),將第二值代入計(jì)算公式得到虛擬對象的水平坐標(biāo)并進(jìn)行比較步驟;第二值為第一值與最大值的中間值;
4.當(dāng)虛擬對象的水平坐標(biāo)大于目標(biāo)對象的水平坐標(biāo)時(shí),將第三值代入計(jì)算公式得到虛擬對象的水平坐標(biāo)并進(jìn)行比較步驟;第三值為最小值與第一值的中間值;
5.當(dāng)虛擬對象的水平坐標(biāo)等于目標(biāo)對象的水平坐標(biāo)時(shí),將當(dāng)前值作為查找到的力度參數(shù)。
進(jìn)一步,當(dāng)通過二分法查找水平坐標(biāo)計(jì)算公式的結(jié)果與目標(biāo)對象的水平坐標(biāo)相同時(shí)的力度參數(shù)超出當(dāng)前顯示場景對應(yīng)的力度參數(shù)的范圍時(shí),在指定區(qū)域顯示無結(jié)果提示消息。此時(shí),在指定區(qū)域顯示更改出射角度的提示。
為了便于理解,舉例如下:
首先定義如下:
pos1=f(power1,wind,angle,pos0,g,air,mass);
pos2=f(power2,wind,angle,pos0,g,air,mass);
pos3=f(power3,wind,angle,pos0,g,air,mass);
power1=0;
power2=max_power/2;
power3=max_power;
其中max_poser為最大力度值。
利用公式計(jì)算出拋射物使用0力度,中間力度,最大力度做拋體運(yùn)動(dòng)與目標(biāo)對象處于同一豎直高度時(shí)的位置pos1,pos2,pos3,定義目標(biāo)對象的坐標(biāo)為pos4,則有如下幾種情況。
第一種是pos1.x>pos4.x,這時(shí)與目標(biāo)對象過近或目標(biāo)對象在初始位置的水平負(fù)方向,最小的0力度也無法命中目標(biāo)對象,此時(shí)無解,提示用戶在當(dāng)前角度和風(fēng)力的情況下,沒有可以命中目標(biāo)的力度值。
第二種是pos4.x>pos3.x,這時(shí)距離目標(biāo)對象過遠(yuǎn),最大力度也無法命中目標(biāo),此時(shí)也是無解,并提示用戶。
第三種是|pos2.x-pos4.x|≤k,k為一個(gè)固定的誤差值,當(dāng)pos2在水平方向上的坐標(biāo)與目標(biāo)對象的水平方向坐標(biāo)之間相差小于k時(shí),認(rèn)為兩者差距可以忽略不計(jì),pos2≈pos4,可以認(rèn)為命中了目標(biāo)對象。這時(shí)取pos2對應(yīng)計(jì)算帶入的power2,作為可以命中目標(biāo)對象的力度值返回并提示用戶,二分查找結(jié)束。
第四種情況是|pos2.x-pos4.x|>k,則這時(shí)因?yàn)榇笥诠潭ǖ恼`差值,認(rèn)為誤差較大,沒有命中目標(biāo)對象,這時(shí)如果pos2.x>pos4.x,則可以得到命中目標(biāo)的力度值必然在0度到power2之間,如果pos2.x<pos4.x,則可以得到命中目標(biāo)的力度值必然在power2到power3之間。如果是命中目標(biāo)的力度值必然在0度到power2之間,則power2的值改變?yōu)?power1+power2)/2,將power3的值改變?yōu)樵璸ower2,代入到前述的三個(gè)算式中,計(jì)算出新的pos1,pos2,pos3,再次進(jìn)行比較,循環(huán)往復(fù),直到誤差值小于k找到命中目標(biāo)對象的力度值為止。如果是命中目標(biāo)的力度必然在power2到power3之間,則將power2的值改變?yōu)?power2+power3)/2,將power1的值改變?yōu)樵璸ower2,同理循環(huán),直到找到命中目標(biāo)對象的力度值為止。
本實(shí)施例提供的上述方法通過二分法查找虛擬對象命中目標(biāo)對象需要的力度值,計(jì)算效率高,節(jié)省時(shí)間,省去了用戶估算力度所需時(shí)間,根本上解決了用戶估算力度不準(zhǔn)確的問題。
實(shí)施例2
本發(fā)明實(shí)施例2提供了一種拋物線射擊游戲的提示方法,應(yīng)用了上述實(shí)施例中的方法,參見圖6所示的流程示意圖,具體包括如下步驟:
步驟s61,打開應(yīng)用,并進(jìn)入拋物線射擊場景。
步驟s62,初始化重力加速度,空氣阻力因素,拋射物質(zhì)量,并隨機(jī)生成風(fēng)力。
步驟s63,用戶選擇出射角度。
在本實(shí)施例中,以用戶輸入出射角度為例進(jìn)行說明。
步驟s64,計(jì)算拋射物命中目標(biāo)對象所需力度。
步驟s65,判斷是否有命中力度值。如果是,執(zhí)行步驟s66;如果否,執(zhí)行步驟s68。
步驟s66,顯示力度提示線以提示用戶上述力度值。
步驟s67,用戶根據(jù)上述力度提示線輸入力度。
步驟s68,提示用戶當(dāng)前出射角度下無法命中目標(biāo)對象。此時(shí)用戶需要重新選擇出射角度。
本實(shí)施例提供的拋物線射擊游戲的提示方法,在用戶輸入出射角度后,可以通過出射角度和當(dāng)前顯示場景對應(yīng)的參數(shù)計(jì)算虛擬對象命中目標(biāo)對象需要的力度值,并提供可視化的力度提示,減少用戶估算力度需要的時(shí)間,提升了交互場景下的用戶體驗(yàn)度。
實(shí)施例3
本發(fā)明實(shí)施例3提供了一種出射力度的提示裝置,應(yīng)用于處理器或者服務(wù)器,參見圖7所示的結(jié)構(gòu)示意圖,包括出射角度獲取模塊310、力度值計(jì)算模塊320和力度提示模塊330,其中,各模塊的功能如下:
出射角度獲取模塊310,用于獲取當(dāng)前顯示場景中虛擬對象的出射角度;
力度值計(jì)算模塊320,用于根據(jù)出射角度和當(dāng)前顯示場景對應(yīng)的參數(shù),計(jì)算虛擬對象命中目標(biāo)對象需要的力度值;參數(shù)至少包括以下之一:虛擬對象的坐標(biāo)、虛擬對象的質(zhì)量、目標(biāo)對象的坐標(biāo)、目標(biāo)對象的速度、重力加速度、阻力和風(fēng)力;
力度提示模塊330,用于在當(dāng)前顯示場景的指定區(qū)域顯示力度值對應(yīng)的力度提示信息。
參見圖8所示的結(jié)構(gòu)示意圖,其中力度值計(jì)算模塊320包括:
公式定義單元321,用于定義虛擬對象在運(yùn)動(dòng)過程中與目標(biāo)對象處于相同高度時(shí)的水平坐標(biāo)計(jì)算公式;計(jì)算公式包括當(dāng)前場景的參數(shù)、出射角度和力度參數(shù);
查找單元322,用于通過二分法查找水平坐標(biāo)計(jì)算公式的結(jié)果與目標(biāo)對象的水平坐標(biāo)相同時(shí)的力度參數(shù);
確定單元323,用于將力度參數(shù)作為力度值。
進(jìn)一步,上述力度提示模塊330還用于:根據(jù)力度值占力度最大值的比例確定力度值在力度控制區(qū)域?qū)?yīng)的位置;在對應(yīng)的位置顯示力度提示符號;力度提示符號包括形狀、顏色和/或數(shù)值。
進(jìn)一步,上述力度提示模塊330還用于:確定力度值在力度控制區(qū)域?qū)?yīng)的刻度;在對應(yīng)的刻度處顯示力度提示符號;力度提示符號為提示刻度線。
進(jìn)一步,還包括無結(jié)果提示模塊,用于通過二分法查找水平坐標(biāo)計(jì)算公式的結(jié)果與目標(biāo)對象的水平坐標(biāo)相同時(shí)的力度參數(shù)超出當(dāng)前顯示場景對應(yīng)的力度參數(shù)的范圍時(shí),在指定區(qū)域顯示無結(jié)果提示消息。
進(jìn)一步,還包括更改角度提示模塊,用于在指定區(qū)域顯示更改出射角度的提示。
本發(fā)明實(shí)施例提供的出射力度的提示裝置,可以通過出射角度和當(dāng)前顯示場景對應(yīng)的參數(shù),計(jì)算虛擬對象命中目標(biāo)對象需要的力度值,并提供可視化的提示供用戶輸入力度使用,可以減少用戶估算力度需要的時(shí)間,加強(qiáng)用戶估算力度的準(zhǔn)確性,降低了用戶的學(xué)習(xí)成本和操作難度,提升了交互場景下的用戶體驗(yàn)度。
參見圖9,本發(fā)明實(shí)施例還提供一種虛擬對象的服務(wù)器100,包括:處理器90,存儲(chǔ)器91,總線92和通信接口93,上述處理器90、通信接口93和存儲(chǔ)器91通過總線92連接;處理器90用于執(zhí)行存儲(chǔ)器91中存儲(chǔ)的可執(zhí)行模塊,例如計(jì)算機(jī)程序。
其中,存儲(chǔ)器91可能包含高速隨機(jī)存取存儲(chǔ)器(ram:randomaccessmemory),也可能還包括非不穩(wěn)定的存儲(chǔ)器(non-volatilememory),例如至少一個(gè)磁盤存儲(chǔ)器。通過至少一個(gè)通信接口93(可以是有線或者無線)實(shí)現(xiàn)該系統(tǒng)網(wǎng)元與至少一個(gè)其他網(wǎng)元之間的通信連接,可以使用互聯(lián)網(wǎng),廣域網(wǎng),本地網(wǎng),城域網(wǎng)等。
總線92可以是isa總線、pci總線或eisa總線等。上述總線可以分為地址總線、數(shù)據(jù)總線、控制總線等。為便于表示,圖9中僅用一個(gè)雙向箭頭表示,但并不表示僅有一根總線或一種類型的總線。
其中,存儲(chǔ)器91用于存儲(chǔ)程序,上述處理器90在接收到執(zhí)行指令后,執(zhí)行上述程序,前述本發(fā)明實(shí)施例任一實(shí)施例揭示的流過程定義的裝置所執(zhí)行的方法可以應(yīng)用于處理器90中,或者由處理器90實(shí)現(xiàn)。
處理器90可能是一種集成電路芯片,具有信號的處理能力。在實(shí)現(xiàn)過程中,上述方法的各步驟可以通過處理器90中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的處理器90可以是通用處理器,包括中央處理器(centralprocessingunit,簡稱cpu)、網(wǎng)絡(luò)處理器(networkprocessor,簡稱np)等;還可以是數(shù)字信號處理器(dsp)、專用集成電路(asic)、現(xiàn)成可編程門陣列(fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。可以實(shí)現(xiàn)或者執(zhí)行本發(fā)明實(shí)施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。結(jié)合本發(fā)明實(shí)施例所公開的方法的步驟可以直接體現(xiàn)為硬件譯碼處理器執(zhí)行完成,或者用譯碼處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機(jī)存儲(chǔ)器,閃存、只讀存儲(chǔ)器,可編程只讀存儲(chǔ)器或者電可擦寫可編程存儲(chǔ)器、寄存器等本領(lǐng)域成熟的存儲(chǔ)介質(zhì)中。該存儲(chǔ)介質(zhì)位于存儲(chǔ)器91,處理器90讀取存儲(chǔ)器91中的信息,結(jié)合其硬件完成上述方法的步驟。
本發(fā)明實(shí)施例所提供的出射力度的提示方法和裝置的計(jì)算機(jī)程序產(chǎn)品,包括存儲(chǔ)了程序代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),程序代碼包括的指令可用于執(zhí)行前面方法實(shí)施例中的方法,具體實(shí)現(xiàn)可參見方法實(shí)施例,在此不再贅述。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的裝置的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。
作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。
上述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例的方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
最后應(yīng)說明的是:以上實(shí)施例,僅為本發(fā)明的具體實(shí)施方式,用以說明本發(fā)明的技術(shù)方案,而非對其限制,本發(fā)明的保護(hù)范圍并不局限于此,盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解:任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),其依然可以對前述實(shí)施例所記載的技術(shù)方案進(jìn)行修改或可輕易想到變化,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改、變化或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明實(shí)施例技術(shù)方案的精神和范圍,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。