亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于虛擬現(xiàn)實(shí)應(yīng)用的用戶界面控件實(shí)現(xiàn)方法和裝置的制造方法

文檔序號(hào):10552673閱讀:251來源:國(guó)知局
基于虛擬現(xiàn)實(shí)應(yīng)用的用戶界面控件實(shí)現(xiàn)方法和裝置的制造方法
【專利摘要】本發(fā)明提供一種基于虛擬現(xiàn)實(shí)應(yīng)用的用戶界面控件實(shí)現(xiàn)方法和裝置。該方法包括:在用戶界面的菜單對(duì)象中創(chuàng)建控件類型為規(guī)則容器類型的控件,所述規(guī)則容器類型為根據(jù)該類型創(chuàng)建的控件包含有生成多個(gè)屬于該控件的子控件的方法;獲取所述規(guī)則容器類型控件的子控件的屬性數(shù)據(jù);根據(jù)所述屬性數(shù)據(jù)生成多個(gè)控件類型相同的子控件。本發(fā)明提供的基于虛擬現(xiàn)實(shí)應(yīng)用的用戶界面控件實(shí)現(xiàn)方法和裝置,提高了在虛擬現(xiàn)實(shí)應(yīng)用的用戶界面中創(chuàng)建控件的效率。
【專利說明】
基于虛擬現(xiàn)實(shí)應(yīng)用的用戶界面控件實(shí)現(xiàn)方法和裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及一種基于虛擬現(xiàn)實(shí)應(yīng)用的用戶界面控件實(shí)現(xiàn)方法和裝置。
【背景技術(shù)】
[0002]隨著計(jì)算機(jī)技術(shù)的發(fā)展,虛擬現(xiàn)實(shí)應(yīng)用得到了迅速普及,目前,虛擬現(xiàn)實(shí)應(yīng)用已廣泛應(yīng)用在包括手機(jī)、平板電腦等電子設(shè)備中,用戶可以使用這些虛擬現(xiàn)實(shí)應(yīng)用中進(jìn)行游戲、活動(dòng)或執(zhí)行某些特定的操作,整個(gè)過程如同在真實(shí)世界中進(jìn)行一般,給用戶提供了視覺、聽覺、觸覺等全方位的模擬體驗(yàn)。
[0003]虛擬現(xiàn)實(shí)應(yīng)用的用戶界面中通常顯示有控件,這些控件可以是各種各樣的按鈕、菜單、選項(xiàng)框等,用戶利用這些控件可以直接與虛擬現(xiàn)實(shí)應(yīng)用進(jìn)行交互。現(xiàn)有技術(shù)中,在虛擬現(xiàn)實(shí)應(yīng)用中創(chuàng)建控件時(shí),通常需要根據(jù)特定場(chǎng)景的需要,在該場(chǎng)景的用戶界面菜單里單獨(dú)創(chuàng)建每一個(gè)控件,比如,在一個(gè)虛擬現(xiàn)實(shí)的游戲場(chǎng)景中有若干個(gè)按鈕類型的控件,每個(gè)按鈕代表著一個(gè)游戲角色,用戶點(diǎn)擊一個(gè)按鈕即可完成選擇該游戲角色的功能,然而開發(fā)人員在創(chuàng)建這些控件時(shí),對(duì)于每一個(gè)按鈕控件都需要單獨(dú)去創(chuàng)建,因此控件的創(chuàng)建效率較低。

【發(fā)明內(nèi)容】

[0004]本發(fā)明實(shí)施例提供一種基于虛擬現(xiàn)實(shí)應(yīng)用的用戶界面控件實(shí)現(xiàn)方法和裝置,用于提高在虛擬現(xiàn)實(shí)應(yīng)用的用戶界面中創(chuàng)建控件的效率。
[0005]本發(fā)明實(shí)施例提供一種基于虛擬現(xiàn)實(shí)應(yīng)用的用戶界面控件實(shí)現(xiàn)方法,包括:
[0006]在用戶界面的菜單對(duì)象中創(chuàng)建控件類型為規(guī)則容器類型的控件,所述規(guī)則容器類型為根據(jù)該類型創(chuàng)建的控件包含有生成多個(gè)屬于該控件的子控件的方法;
[0007]獲取所述規(guī)則容器類型控件的子控件的屬性數(shù)據(jù);
[0008]根據(jù)所述屬性數(shù)據(jù)生成多個(gè)控件類型相同的子控件,所述控件類型包括規(guī)則容器類型和普通類型,所述普通類型為規(guī)則容器類型之外的其它控件的類型。
[0009]優(yōu)選地,所述根據(jù)所述屬性數(shù)據(jù)生成多個(gè)控件類型相同的子控件具體包括:
[0010]根據(jù)所述屬性數(shù)據(jù)設(shè)置所述子控件的類型、個(gè)數(shù)和子控件之間的間隔信息;以及設(shè)置至少一個(gè)子控件在所述規(guī)則容器類型的控件中的位姿信息;
[0011]根據(jù)設(shè)置的子控件的類型、個(gè)數(shù)、間隔信息以及位姿信息生成多個(gè)類型相同的子控件。
[0012]優(yōu)選地,所述方法還包括:
[0013]根據(jù)所述屬性數(shù)據(jù)設(shè)置所述規(guī)則容器類型的控件的子控件的行數(shù)、列數(shù)、編號(hào)以及子控件的尺寸,則所述生成多個(gè)類型相同的子控件具體包括:
[0014]按照所述行數(shù)、列數(shù)以及編號(hào)生成多個(gè)類型相同且尺寸相同的子控件。
[0015]優(yōu)選地,所述設(shè)置至少一個(gè)子控件在所述規(guī)則容器類型的控件中的位姿信息具體包括:
[0016]設(shè)置至少一個(gè)子控件上的參考點(diǎn)在所述規(guī)則容器類型的控件中的位置信息和所述子控件在所述規(guī)則容器類型的控件中的姿態(tài)信息。
[0017]優(yōu)選地,如果生成的子控件類型為規(guī)則容器類型,則對(duì)規(guī)則容器類型的子控件進(jìn)行如下操作:
[0018]a)獲取規(guī)則容器類型的子控件所屬的下一級(jí)控件的屬性數(shù)據(jù);
[0019]b)根據(jù)所述下一級(jí)控件的屬性數(shù)據(jù)生成多個(gè)控件類型相同的屬于所述規(guī)則容器類型的子控件的下一級(jí)控件。
[0020]優(yōu)選地,獲取所述規(guī)則容器類型控件的子控件的屬性數(shù)據(jù)之前,所述方法還包括:
[0021]設(shè)置所述規(guī)則容器類型的控件在用戶界面的虛擬現(xiàn)實(shí)場(chǎng)景中的位姿信息,其中,所述位姿信息包括:所述規(guī)則容器類型的控件上的參考點(diǎn)在虛擬現(xiàn)實(shí)場(chǎng)景中的位置和所述規(guī)則容器類型的控件在虛擬現(xiàn)實(shí)場(chǎng)景中的姿態(tài)。
[0022]本發(fā)明實(shí)施例還提供一種基于虛擬現(xiàn)實(shí)應(yīng)用的用戶界面控件實(shí)現(xiàn)裝置,包括:創(chuàng)建模塊,獲取模塊和生成模塊,其中,
[0023]所述創(chuàng)建模塊,用于在用戶界面的菜單對(duì)象中創(chuàng)建控件類型為規(guī)則容器類型的控件,所述規(guī)則容器類型為根據(jù)該類型創(chuàng)建的控件包含有生成多個(gè)屬于該控件的子控件的方法;
[0024]所述獲取模塊,用于獲取所述規(guī)則容器類型控件的子控件的屬性數(shù)據(jù);
[0025]所述生成模塊,用于根據(jù)所述屬性數(shù)據(jù)生成多個(gè)控件類型相同的子控件,所述控件類型包括規(guī)則容器類型和普通類型,所述普通類型為規(guī)則容器類型之外的其它控件的類型。
[0026]優(yōu)選地,所述生成模塊具體包括有設(shè)置單元,其中,
[0027]所述設(shè)置單元,用于根據(jù)所述屬性數(shù)據(jù)設(shè)置所述子控件的類型、個(gè)數(shù)和子控件之間的間隔信息;以及設(shè)置至少一個(gè)子控件在所述規(guī)則容器類型的控件中的位姿信息。
[0028]優(yōu)選地,所述裝置還包括設(shè)置子單元,其中,
[0029]所述設(shè)置子單元,用于根據(jù)所述屬性數(shù)據(jù)設(shè)置所述規(guī)則容器類型的控件的子控件的行數(shù)、列數(shù)、編號(hào)以及子控件的尺寸。
[0030]優(yōu)選地,所述裝置還包括位姿設(shè)置模塊,其中,
[0031]所述位姿設(shè)置模塊,用于設(shè)置所述規(guī)則容器類型的控件在用戶界面的虛擬現(xiàn)實(shí)場(chǎng)景中的位姿信息,其中,所述位姿信息包括:所述規(guī)則容器類型的控件上的參考點(diǎn)在虛擬現(xiàn)實(shí)場(chǎng)景中的位置和所述規(guī)則容器類型的控件在虛擬現(xiàn)實(shí)場(chǎng)景中的姿態(tài)。
[0032]本發(fā)明實(shí)施例提供的基于虛擬現(xiàn)實(shí)應(yīng)用的用戶界面控件實(shí)現(xiàn)方法和裝置,規(guī)則容器類型的控件包含有生成多個(gè)屬于該控件的子控件的方法,對(duì)于類型相的子控件可以一次性生成,提高了在虛擬現(xiàn)實(shí)應(yīng)用的用戶界面中控件創(chuàng)建的效率。
【附圖說明】
[0033]為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0034]圖1為本發(fā)明實(shí)施例提供的一種基于虛擬現(xiàn)實(shí)應(yīng)用的用戶界面控件實(shí)現(xiàn)方法的流程圖;
[0035]圖2為本發(fā)明實(shí)施例提供的一種基于虛擬現(xiàn)實(shí)應(yīng)用的用戶界面控件顯示示意圖;
[0036]圖3為本發(fā)明實(shí)施例提供的一種基于虛擬現(xiàn)實(shí)應(yīng)用的用戶界面中規(guī)則容器類型控件和普通控件的層次關(guān)系示意圖;
[0037]圖4為圖3中的普通控件在用戶界面中的顯示位置示意圖;
[0038]圖5為本發(fā)明實(shí)施例提供的一種基于虛擬現(xiàn)實(shí)應(yīng)用的用戶界面控件實(shí)現(xiàn)裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0039]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0040]在本發(fā)明的各實(shí)施例中,用戶界面通常為系統(tǒng)的圖形化前端,這些用戶界面可以為電子設(shè)備的虛擬現(xiàn)實(shí)應(yīng)用中,直接呈現(xiàn)在用戶面前的場(chǎng)景,這些場(chǎng)景可以為基于虛擬現(xiàn)實(shí)的游戲畫面,還可以為基于虛擬現(xiàn)實(shí)的其他場(chǎng)景體驗(yàn)等。對(duì)于上述用戶,這些用戶可以為應(yīng)用程序的開發(fā)人員,當(dāng)然還可以為應(yīng)用程序產(chǎn)品的最終使用者。
[0041]用戶界面的菜單對(duì)象中通常包含有一個(gè)或多個(gè)控件,這些控件通常為系統(tǒng)底層代碼的圖形化接口,用戶可通過用戶界面中的控件與虛擬現(xiàn)實(shí)環(huán)境進(jìn)行交互。在本發(fā)明的實(shí)施例中,控件可以是用戶界面中的某個(gè)窗口或該窗口中的某些按鈕,圖片或文字等。
[0042]現(xiàn)有技術(shù)中,在虛擬現(xiàn)實(shí)應(yīng)用中創(chuàng)建控件時(shí),通常需要根據(jù)特定場(chǎng)景的需要,在該場(chǎng)景的用戶界面的菜單對(duì)象中單獨(dú)創(chuàng)建每一個(gè)控件,然而開發(fā)人員在創(chuàng)建這些控件時(shí),對(duì)于每一個(gè)控件都需要單獨(dú)去創(chuàng)建,因此控件的創(chuàng)建效率較低。為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供一種基于虛擬現(xiàn)實(shí)應(yīng)用的用戶界面控件實(shí)現(xiàn)方法,用于解決現(xiàn)有技術(shù)中控件創(chuàng)建效率低的問題,具體如圖1的所示,該流程包括以下幾個(gè)步驟:
[0043]步驟11:在用戶界面的菜單對(duì)象中創(chuàng)建控件類型為規(guī)則容器類型的控件。其中,所述規(guī)則容器類型為根據(jù)該類型創(chuàng)建的控件,包含有生成多個(gè)屬于該控件的子控件的方法。
[0044]這里的規(guī)則容器類型的控件,簡(jiǎn)稱為容器控件,主要作用是用于組織和顯示位于其內(nèi)部的普通控件,當(dāng)然還可以用于組織其內(nèi)部的容器控件。另外,對(duì)于本發(fā)明實(shí)施例中提到的控件,從功能上通常可分為普通控件和容器控件,普通組件往往有預(yù)定義的外觀和功能,例如命令按鈕,默認(rèn)居中顯示指定的文本標(biāo)題等,單擊這些普通控件時(shí)通常會(huì)執(zhí)行指定的事件處理方法。而容器控件在2D的普通用戶界面上往往反映為用戶界面上的一個(gè)空白區(qū)域,主要作用是用于組織和顯示位于其內(nèi)部的普通控件或容器控件。在虛擬現(xiàn)實(shí)應(yīng)用的用戶界面中,容器控件通常為非可視化控件,用戶最終看到的則是位于容器控件內(nèi)部的普通控件。
[0045]另外,這里的規(guī)則容器類型為根據(jù)該類型創(chuàng)建的控件,包含有生成多個(gè)屬于該控件的子控件的方法,這里的子控件為上述控件中的一種,即可以是容器控件,當(dāng)然也可以是普通控件。對(duì)于生成多個(gè)屬于該控件的子控件的方法,這里的方法可以為對(duì)生成的其中一個(gè)子控件包含的代碼或代碼中的函數(shù)的迭代,使用計(jì)數(shù)器結(jié)束迭代循環(huán),從而最終一次性生成多個(gè)子控件,最終生成的子控件的個(gè)數(shù)由這里的計(jì)數(shù)器的個(gè)數(shù)所控制。當(dāng)然這里只是示意性的列舉出了一種生成多個(gè)子控件的方法,本申請(qǐng)為并不以此為限。
[0046]步驟12:獲取所述規(guī)則容器類型控件的子控件的屬性數(shù)據(jù)。
[0047]規(guī)則容器類型控件主要作用是用于組織和顯示位于其內(nèi)部的普通控件(子控件),還可以為組織其內(nèi)部的容器控件(子控件),在此之前,還要獲取子控件的屬性數(shù)據(jù),這里的屬性數(shù)據(jù)可以為子控件的總個(gè)數(shù);又或者是子控件在容器控件中的行數(shù)和列數(shù),總行數(shù)乘以總列數(shù)即為子控件的總個(gè)數(shù);又或者是子控件之間的間隔;又或者是子控件在容器控件中的位姿等。
[0048]步驟13:根據(jù)所述屬性數(shù)據(jù)生成多個(gè)控件類型相同的子控件。
[0049]通過上述屬性數(shù)據(jù),即可在容器控件中一次性生成多個(gè)類型相同的子控件。對(duì)于這里的類型相同,主要是相對(duì)于規(guī)則容器類型和普通類型而言,這里的普通類型為規(guī)則容器類型之外的其它控件的類型。例如生成的一個(gè)子控件為容器控件,則所有的子控件全部為容器控件,又例如生成的一個(gè)子控件為普通類型的按鈕控件,則所有的子控件全部為普通類型的按鈕控件。
[0050]本發(fā)明實(shí)施例提供的基于虛擬現(xiàn)實(shí)應(yīng)用的用戶界面控件實(shí)現(xiàn)方法,規(guī)則容器類型的控件包含有生成多個(gè)屬于該控件的子控件的方法,對(duì)于類型相的子控件可以一次性生成,提高了在虛擬現(xiàn)實(shí)應(yīng)用的用戶界面中控件創(chuàng)建的效率。
[0051]在上述的方法實(shí)施例步驟13中,所述根據(jù)所述屬性數(shù)據(jù)生成多個(gè)控件類型相同的子控件,具體包括:根據(jù)所述屬性數(shù)據(jù)設(shè)置所述子控件的類型、個(gè)數(shù)和子控件之間的間隔信息;以及設(shè)置至少一個(gè)子控件在所述規(guī)則容器類型的控件中的位姿信息;根據(jù)設(shè)置的子控件的類型、個(gè)數(shù)、間隔信息以及位姿信息生成多個(gè)類型相同的子控件。
[0052]對(duì)于設(shè)置子控件的類型,即將多個(gè)子控件的類型統(tǒng)一設(shè)定為容器控件,或?qū)⒍鄠€(gè)類型的子控件的類型統(tǒng)一設(shè)定為普通控件,對(duì)于這里的普通控件又可以進(jìn)行細(xì)分,例如統(tǒng)一將普通控件設(shè)定為按鈕類型的子控件,又或者是將普通控件統(tǒng)一設(shè)定為圖片類型的子控件等等。
[0053]對(duì)于設(shè)置子控件的個(gè)數(shù),即按照產(chǎn)品需求設(shè)置需要的子控件的總個(gè)數(shù)。
[0054]對(duì)于設(shè)置至少一個(gè)子控件在所述規(guī)則容器類型的控件中的位姿信息,這里的位姿包括子控件上的參考點(diǎn)在規(guī)則容器類型的控件中的位置和子控件在規(guī)則容器類型的控件中的姿態(tài)。由于整個(gè)規(guī)則容器類型的控件在虛擬現(xiàn)實(shí)應(yīng)用的用戶界面中的位姿是已經(jīng)設(shè)置好的,因此,對(duì)于新生成的子控件,需要設(shè)置子控件在規(guī)則容器類型的控件中的位姿信息,進(jìn)而形成最終形成子控件(普通控件)在虛擬現(xiàn)實(shí)的用戶界面中的位姿。上述提到規(guī)則容器類型為根據(jù)該類型創(chuàng)建的控件包含有生成多個(gè)屬于該控件的子控件的方法,因此這里只需設(shè)置至少一個(gè)子控件在規(guī)則容器類型的控件中的位姿即可,其它的子控件的姿態(tài)可以與首個(gè)子控件的姿態(tài)保持一致。
[0055]上述只是保證其它的子控件的姿態(tài)將與設(shè)置位姿的子控件的姿態(tài)保持一致,因此還要對(duì)子控件之間的間隔進(jìn)行設(shè)置,這里的間隔不僅包括子控件之間水平方向的間隔,還包括子控件之間垂直方向的間隔,在虛擬現(xiàn)實(shí)應(yīng)用的用戶界面中,在考慮水平和垂直方向的間隔時(shí),當(dāng)然還可以將控件之間的深度值考慮在內(nèi)。另外,對(duì)子控件的間隔進(jìn)行設(shè)置時(shí),如果子控件為剛性組件,即子控件具有指定的尺寸,不管容器控件如何縮放,剛性組件的大小不變,此時(shí)對(duì)與子控件之間的間隔也可以設(shè)置成剛性的固定值,固定值的單位可以以用戶界面圖像的像素為單位,當(dāng)然還可以為其他單位。
[0056]如果子控件為粘合組件,即組件的大小可變,當(dāng)容器控件尺寸較小時(shí),粘合控件可以不占任何空間;當(dāng)容器控件尺寸較大時(shí),粘合控件能夠占用任意大的多余空間,此時(shí)可以將子控件之間的間隔設(shè)置成隨粘合控件的尺寸同步變化的可變值??梢詫⒆涌丶g的間隔設(shè)置成是占子控件具體尺寸的百分比的數(shù)值,例如子控件橫向間隔設(shè)置為子控件長(zhǎng)度的50%,子控件垂直間隔為子控件寬度的50%,最終實(shí)現(xiàn)子控件相對(duì)于所在規(guī)則容器的大小縮放。
[0057]在上述實(shí)施例中,根據(jù)設(shè)置的子控件的類型、個(gè)數(shù)、間隔信息以及位姿信息生成多個(gè)類型相同的子控件的同時(shí),還可以根據(jù)所述屬性數(shù)據(jù)設(shè)置所述規(guī)則容器類型的控件的子控件的行數(shù)、列數(shù)、編號(hào)以及子控件的尺寸,則步驟13中生成多個(gè)類型相同的子控件具體包括:按照所述行數(shù)、列數(shù)以及編號(hào)生成多個(gè)類型相同且尺寸相同的子控件。
[0058]設(shè)置子控件的行數(shù)、列數(shù),這里的行數(shù)和列數(shù)是相對(duì)于多個(gè)子控件的總個(gè)數(shù)而言的,例如一共三個(gè)子控件,則可以設(shè)置為一行三列或者是三行一列,又例如一共為八個(gè)子控件,則可以設(shè)置為二行四列,或者是四行兩列,又或者是一行八列等等。
[0059]另外還需要對(duì)生成的每個(gè)子控件設(shè)置編號(hào),例如容器控件的編號(hào)為1,在容器控件I中生成了兩行兩列一共四個(gè)子控件,可以將容器控件I的左上角的子控件設(shè)置編號(hào)為11,右上角的子控件編號(hào)設(shè)置為12,左下角的子控件編號(hào)設(shè)置為13,右下角的子控件的編號(hào)設(shè)置為14,這樣一個(gè)子控件對(duì)應(yīng)一個(gè)編號(hào)。在用戶界面中可能存在多個(gè)容器控件和最終生成多個(gè)子控件,這樣每個(gè)容器控件以及每個(gè)子控件都有一個(gè)唯一的編號(hào),在對(duì)每個(gè)子控件進(jìn)行控制和修改時(shí),只需取得子控件的編號(hào)來進(jìn)行,最終加強(qiáng)了對(duì)控件的管理,且使子控件與子控件之間,子控件與容器控件之間的層次分明。
[0060]對(duì)于這里的尺寸相同,通常為所有子控件的長(zhǎng)度尺寸相等和寬度尺寸相等,在虛擬現(xiàn)實(shí)應(yīng)用的用戶界面中,當(dāng)然還可以為子控件的其他尺寸,這里的子控件的形狀也不僅僅局限于為長(zhǎng)方形,當(dāng)然還可以三維的其他形狀,但最終保證所有的子控件每個(gè)相同部位的尺寸相等即可。
[0061]在之前的幾個(gè)實(shí)施例中,“生成多個(gè)類型相同的子控件”,這里的多個(gè)子控件的類型可以為規(guī)則容器類型的控件,當(dāng)然還可以為普通控件。如果子控件為普通控件,則用戶界面控件創(chuàng)建完畢,具體可以如圖2所示,圖2中的菜單對(duì)象并未顯示,如果子控件仍然為規(guī)則容器類型,那么則對(duì)規(guī)則容器類型的子控件進(jìn)行如下操作:
[0062]a)獲取規(guī)則容器類型的子控件所屬的下一級(jí)控件的屬性數(shù)據(jù);
[0063]b)根據(jù)所述下一級(jí)控件的屬性數(shù)據(jù)生成多個(gè)控件類型相同的屬于所述規(guī)則容器類型的子控件的下一級(jí)控件。
[0064]對(duì)規(guī)則容器類型的子控件執(zhí)行完步驟a和步驟b之后,則生成了多個(gè)規(guī)則容器類型的子控件所屬的下一級(jí)控件。為了方便說明,以下結(jié)合附圖3和附圖4進(jìn)行舉例說明。首先對(duì)于圖3,可以將容器控件I稱為第一層的控件,在容器控件I中生成容器控件11,容器控件12,容器控件13和容器控件14四個(gè)子控件,這里的四個(gè)子控件的類型均為規(guī)則容器類型。
[0065]接下來,對(duì)于容器控件11執(zhí)行上述步驟a和步驟b之后,生成若干個(gè)所屬的下一級(jí)控件;對(duì)于容器控件12執(zhí)行上述步驟a和步驟b之后,生成四個(gè)所屬的下一級(jí)控件;對(duì)于容器控件13執(zhí)行上述步驟a和步驟b之后,生成若干個(gè)所屬的下一級(jí)控件;對(duì)于容器控件14執(zhí)行上述步驟a和步驟b之后,生成兩個(gè)所屬的下一級(jí)控件。圖3中的兩個(gè)省略號(hào)分別表示的是容器控件11和容器控件13生成的下一級(jí)控件的個(gè)數(shù),由于圖紙版面有限,只將容器控件12和容器控件14生成的下一級(jí)控件的個(gè)數(shù)顯示出來,相應(yīng)地圖4中的兩個(gè)省略號(hào)表示同樣的含義。
[0066]對(duì)于上述的步驟b中,根據(jù)所述下一級(jí)控件的屬性數(shù)據(jù)生成多個(gè)控件類型相同的屬于所述規(guī)則容器類型的子控件的下一級(jí)控件具體包括:根據(jù)下一級(jí)控件的屬性數(shù)據(jù)設(shè)置下一級(jí)控件的類型、個(gè)數(shù)和下一級(jí)控件之間的間隔信息;以及設(shè)置至少一個(gè)下一級(jí)控件在規(guī)則容器類型的控件中的位姿信息;根據(jù)設(shè)置的下一級(jí)控件的類型、個(gè)數(shù)、間隔信息以及位姿信息生成多個(gè)類型相同的下一級(jí)控件。另外,還可以根據(jù)下一級(jí)控件的屬性數(shù)據(jù)設(shè)置下一級(jí)控件的行數(shù)、列數(shù)、編號(hào)以及子控件的尺寸,則所述生成多個(gè)類型相同的下一級(jí)控件具體包括:按照所述行數(shù)、列數(shù)以及編號(hào)生成多個(gè)類型相同且尺寸相同的下一級(jí)控件。
[0067]對(duì)于上述設(shè)置多個(gè)下一級(jí)控件的類型、個(gè)數(shù)和下一級(jí)控件之間的間隔信息;設(shè)置至少一個(gè)下一級(jí)控件在規(guī)則容器類型的控件中的位姿信息;設(shè)置下一級(jí)控件的行數(shù)、列數(shù)、編號(hào)以及子控件的尺寸等,和之前已經(jīng)介紹的在第一層容器控件中生成子控件的步驟大致相同,為避免重復(fù),這里僅參照?qǐng)D3和圖4的實(shí)例圖,在對(duì)步驟b中的一些細(xì)節(jié)進(jìn)行說明。
[0068]例如在容器控件12中生成下一級(jí)控件之前,首先需要根據(jù)容器控件12中即將生成的下一級(jí)控件的屬性數(shù)據(jù),設(shè)置容器控件12的下級(jí)控件的類型,如圖3所示的容器控件12中的下一級(jí)控件為普通控件,在具體而言,上述普通控件可以為按鈕類型的普通控件;然后設(shè)置下一級(jí)控件的總個(gè)數(shù)為4個(gè);再設(shè)置下一級(jí)控件之間的間隔;設(shè)置至少一個(gè)下一級(jí)控件在容器控件12中的位姿信息;設(shè)置上述下一級(jí)的普通控件的行數(shù)和列數(shù)分別為兩行兩列,SP一共四個(gè)普通類型的按鈕控件;最后再設(shè)置每個(gè)下一級(jí)的普通控件的編號(hào)以及尺寸,生成四個(gè)按鈕類型的普通控件,即普通控件121,普通控件122,普通控件123和普通控件124。
[0069]在容器控件11,容器控件13,容器控件14,中生成下級(jí)控件的方法與在容器控件12中生成下一級(jí)控件的方法相同,這里不再贅述,最終呈現(xiàn)在虛擬現(xiàn)實(shí)應(yīng)用的用戶界面的菜單上的內(nèi)容如圖4所示,用戶最終看到的只是普通控件,即容器控件11和容器控件13中的若干個(gè)普通控件,容器控件12中的四個(gè)普通控件,和容器控件14中的兩個(gè)普通控件,圖4中的虛線只是示意性的顯示各容器控件的位置關(guān)系,在實(shí)際的用戶界面中并不顯示。
[0070]對(duì)于上述的容器控件11、容器控件12、容器控件13或容器控件14也含有生成多個(gè)屬于該控件的下一級(jí)控件的方法,容器控件11、容器控件12、容器控件13或容器控件14可以嵌套容器控件或者是普通控件,還以圖3為例,容器控件12和容器控件14生成的若干個(gè)下級(jí)控件為普通控件,容器控件11和容器控件13生成的若干個(gè)下級(jí)控件可以為普通控件,當(dāng)然還可以繼續(xù)為容器控件,如果繼續(xù)為容器控件,重復(fù)執(zhí)行上述步驟a和步驟b,最終直至所有的下級(jí)控件為普通控件。
[0071]對(duì)于之前的一個(gè)方法實(shí)施例,步驟12中提到獲取所述規(guī)則容器類型控件的子控件的屬性數(shù)據(jù),在此步驟之前,所述方法還可以包括:設(shè)置所述規(guī)則容器類型的控件在用戶界面的虛擬現(xiàn)實(shí)場(chǎng)景中的位姿信息,其中,所述位姿信息包括:所述規(guī)則容器類型的控件上的參考點(diǎn)在虛擬現(xiàn)實(shí)場(chǎng)景中的位置和所述規(guī)則容器類型的控件在虛擬現(xiàn)實(shí)場(chǎng)景中的姿態(tài)。
[0072]這里還以圖4所示為例,雖然用戶最終看到的為普通控件,然而容器控件I控制著普通控件在用戶界面中的位姿,因此首先要對(duì)容器控件I在虛擬現(xiàn)實(shí)環(huán)境中的位姿進(jìn)行設(shè)定。
[0073]在具體的設(shè)置容器控件的位姿時(shí),例如,虛擬現(xiàn)實(shí)的用戶界面顯示的是一個(gè)房間的三維畫面,此時(shí)可定義世界坐標(biāo)系,將用戶界面左上角位置坐標(biāo)定義原點(diǎn)坐標(biāo),即(0,0,O),原點(diǎn)正右側(cè)方向?yàn)閄軸正方向,原點(diǎn)垂直向下為y軸正方向,同時(shí)垂直于X軸和y軸并朝向用戶的視線方向?yàn)閦軸正方向,各個(gè)方向的取值可以以三維畫面的像素為單位,此時(shí)即可設(shè)置容器控件的參考點(diǎn)在虛擬現(xiàn)實(shí)場(chǎng)景中的位置坐標(biāo),這里的參考點(diǎn)可以為容器控件的重心位置,當(dāng)然還可以為容器控件上的其他參考點(diǎn)。
[0074]在確定好容器控件上的參考點(diǎn)在虛擬現(xiàn)實(shí)場(chǎng)景中的位置坐標(biāo)之后,還需要對(duì)容器控件在虛擬現(xiàn)實(shí)場(chǎng)景中的姿態(tài)進(jìn)行確定,進(jìn)而為最終生成的普通控件的姿態(tài)設(shè)置做鋪墊,這里的姿態(tài)可以為容器控件分別與上述X,y,z三個(gè)坐標(biāo)軸之間的夾角。
[0075]對(duì)于三維的虛擬現(xiàn)實(shí)場(chǎng)景,如果只有上述x,y兩個(gè)坐標(biāo)軸且容器控件以及最終顯示的普通控件與x,y兩個(gè)坐標(biāo)軸的夾角為零度,則用戶可能會(huì)覺得顯示出的普通控件為平面圖像,進(jìn)而會(huì)使整個(gè)三維的虛擬現(xiàn)實(shí)場(chǎng)景的感觸造成影響,所以通常需要設(shè)定z軸,即深度值大小,以及容器控件的顯示角度,并且在需要進(jìn)行三維顯示時(shí),該顯示角度不為零。其中,顯示的角度應(yīng)與實(shí)際呈現(xiàn)的虛擬現(xiàn)實(shí)場(chǎng)景相協(xié)調(diào)。
[0076]需要說明的是,最終所有的普通控件作為一個(gè)整體的三維圖像顯示給用戶時(shí),這里所有的普通控件可以具有相同的顯示角度。另外圖2和圖4只是示意性的顯示控件在用戶界面中的位置,并未顯示出控件之間的深度信息以及控件的姿態(tài)信息。
[0077]上述只是介紹了如何讓設(shè)置第一層的容器控件在虛擬現(xiàn)實(shí)場(chǎng)景中位姿,這里還涉及到容器控件中的多個(gè)子控件在容器控件的位姿,所述位姿包括:所述子控件上的參考點(diǎn)在容器控件中的位置和所述子控件在容器控件中的姿態(tài)。由于多個(gè)子控件均為一次性生成的,因此只需設(shè)置至少一個(gè)子控件在容器控件中的位姿,再結(jié)合子控件之間的間隔,剩下的子控件即可與設(shè)置好位姿的子控件保持同樣的姿態(tài),但是在容器控件中保持不同的位置。
[0078]需要說明的是,上述提到的兩個(gè)“位姿”的概念,一個(gè)是容器控件在用戶界面的虛擬現(xiàn)實(shí)場(chǎng)景中的位姿,另一個(gè)是至少一個(gè)子控件在容器控件中的位姿,第一個(gè)位姿是容器控件相對(duì)于虛擬現(xiàn)實(shí)場(chǎng)景(用戶界面)而言的,第二個(gè)位姿是設(shè)置好位姿的子控件相對(duì)于生成此子控件的容器控件而言的。
[0079]上述內(nèi)容詳細(xì)介紹了是本發(fā)明的方法實(shí)施例,相應(yīng)地,本發(fā)明還提供了一種基于虛擬現(xiàn)實(shí)應(yīng)用的用戶界面控件實(shí)現(xiàn)裝置實(shí)施例。參見附圖5,包括:創(chuàng)建模塊21,獲取模塊22和生成模塊23,其中,
[0080]所述創(chuàng)建模塊21,可以用于在用戶界面的菜單對(duì)象中創(chuàng)建控件類型為規(guī)則容器類型的控件,所述規(guī)則容器類型為根據(jù)該類型創(chuàng)建的控件包含有生成多個(gè)屬于該控件的子控件的方法。
[0081]所述獲取模塊22,可以用于獲取所述規(guī)則容器類型控件的子控件的屬性數(shù)據(jù)。
[0082]所述生成模塊23,可以用于根據(jù)所述屬性數(shù)據(jù)生成多個(gè)控件類型相同的子控件,所述控件類型包括規(guī)則容器類型和普通類型,所述普通類型為規(guī)則容器類型之外的其它控件的類型。
[0083]本裝置實(shí)施例的工作過程為:創(chuàng)建模塊21首先創(chuàng)建規(guī)則容器類型的控件,然后獲取模塊22獲取規(guī)則容器類型控件的子控件的屬性數(shù)據(jù),最后生成模塊23根據(jù)獲取模塊22獲取到的屬性數(shù)據(jù),一次性生成多個(gè)類型相同的子控件。
[0084]本發(fā)明實(shí)施例提供的基于虛擬現(xiàn)實(shí)應(yīng)用的用戶界面控件實(shí)現(xiàn)裝置,創(chuàng)建模塊21創(chuàng)建的容器控件包含有生成多個(gè)屬于該控件的子控件的方法,最終生成模塊23對(duì)于類型相同的子控件可以一次性生成,提高了在虛擬現(xiàn)實(shí)應(yīng)用的用戶界面中控件創(chuàng)建的效率。
[0085]另外,上述基于虛擬現(xiàn)實(shí)應(yīng)用的用戶界面控件實(shí)現(xiàn)裝置中,生成模塊23具體包括有設(shè)置單元,其中,所述設(shè)置單元,用于根據(jù)所述屬性數(shù)據(jù)設(shè)置所述子控件的類型、個(gè)數(shù)和子控件之間的間隔信息;以及設(shè)置至少一個(gè)子控件在所述規(guī)則容器類型的控件中的位姿信息。
[0086]上述裝置還可以包括設(shè)置子單元,其中,所述設(shè)置子單元,用于根據(jù)所述屬性數(shù)據(jù)設(shè)置所述規(guī)則容器類型的控件的子控件的行數(shù)、列數(shù)、編號(hào)以及子控件的尺寸。
[0087]上述裝置還可以包括位姿設(shè)置模塊,其中,所述位姿設(shè)置模塊,用于設(shè)置所述規(guī)則容器類型的控件在用戶界面的虛擬現(xiàn)實(shí)場(chǎng)景中的位姿信息,其中,所述位姿信息包括:所述規(guī)則容器類型的控件上的參考點(diǎn)在虛擬現(xiàn)實(shí)場(chǎng)景中的位置和所述規(guī)則容器類型的控件在虛擬現(xiàn)實(shí)場(chǎng)景中的姿態(tài)。
[0088]以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。
[0089]通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件。基于這樣的理解,上述技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
[0090]最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
【主權(quán)項(xiàng)】
1.一種基于虛擬現(xiàn)實(shí)應(yīng)用的用戶界面控件實(shí)現(xiàn)方法,其特征在于,包括: 在用戶界面的菜單對(duì)象中創(chuàng)建控件類型為規(guī)則容器類型的控件,所述規(guī)則容器類型為根據(jù)該類型創(chuàng)建的控件包含有生成多個(gè)屬于該控件的子控件的方法; 獲取所述規(guī)則容器類型控件的子控件的屬性數(shù)據(jù); 根據(jù)所述屬性數(shù)據(jù)生成多個(gè)控件類型相同的子控件,所述控件類型包括規(guī)則容器類型和普通類型,所述普通類型為規(guī)則容器類型之外的其它控件的類型。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述屬性數(shù)據(jù)生成多個(gè)控件類型相同的子控件具體包括: 根據(jù)所述屬性數(shù)據(jù)設(shè)置所述子控件的類型、個(gè)數(shù)和子控件之間的間隔信息;以及設(shè)置至少一個(gè)子控件在所述規(guī)則容器類型的控件中的位姿信息; 根據(jù)設(shè)置的子控件的類型、個(gè)數(shù)、間隔信息以及位姿信息生成多個(gè)類型相同的子控件。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括: 根據(jù)所述屬性數(shù)據(jù)設(shè)置所述規(guī)則容器類型的控件的子控件的行數(shù)、列數(shù)、編號(hào)以及子控件的尺寸,則所述生成多個(gè)類型相同的子控件具體包括: 按照所述行數(shù)、列數(shù)以及編號(hào)生成多個(gè)類型相同且尺寸相同的子控件。4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述設(shè)置至少一個(gè)子控件在所述規(guī)則容器類型的控件中的位姿信息具體包括: 設(shè)置至少一個(gè)子控件上的參考點(diǎn)在所述規(guī)則容器類型的控件中的位置信息和所述子控件在所述規(guī)則容器類型的控件中的姿態(tài)信息。5.根據(jù)權(quán)利要求1至4中任何一項(xiàng)所述的方法,其特征在于,如果生成的子控件類型為規(guī)則容器類型,則對(duì)規(guī)則容器類型的子控件進(jìn)行如下操作: a)獲取規(guī)則容器類型的子控件所屬的下一級(jí)控件的屬性數(shù)據(jù); b)根據(jù)所述下一級(jí)控件的屬性數(shù)據(jù)生成多個(gè)控件類型相同的屬于所述規(guī)則容器類型的子控件的下一級(jí)控件。6.根據(jù)權(quán)利要求1所述的方法,其特征在于,獲取所述規(guī)則容器類型控件的子控件的屬性數(shù)據(jù)之前,所述方法還包括: 設(shè)置所述規(guī)則容器類型的控件在用戶界面的虛擬現(xiàn)實(shí)場(chǎng)景中的位姿信息,其中,所述位姿信息包括:所述規(guī)則容器類型的控件上的參考點(diǎn)在虛擬現(xiàn)實(shí)場(chǎng)景中的位置和所述規(guī)則容器類型的控件在虛擬現(xiàn)實(shí)場(chǎng)景中的姿態(tài)。7.—種基于虛擬現(xiàn)實(shí)應(yīng)用的用戶界面控件實(shí)現(xiàn)裝置,其特征在于,包括創(chuàng)建模塊,獲取模塊和生成模塊,其中, 所述創(chuàng)建模塊,用于在用戶界面的菜單對(duì)象中創(chuàng)建控件類型為規(guī)則容器類型的控件,所述規(guī)則容器類型為根據(jù)該類型創(chuàng)建的控件包含有生成多個(gè)屬于該控件的子控件的方法; 所述獲取模塊,用于獲取所述規(guī)則容器類型控件的子控件的屬性數(shù)據(jù); 所述生成模塊,用于根據(jù)所述屬性數(shù)據(jù)生成多個(gè)控件類型相同的子控件,所述控件類型包括規(guī)則容器類型和普通類型,所述普通類型為規(guī)則容器類型之外的其它控件的類型。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述生成模塊具體包括設(shè)置單元,其中, 所述設(shè)置單元,用于根據(jù)所述屬性數(shù)據(jù)設(shè)置所述子控件的類型、個(gè)數(shù)和子控件之間的間隔信息;以及設(shè)置至少一個(gè)子控件在所述規(guī)則容器類型的控件中的位姿信息。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括設(shè)置子單元,其中, 所述設(shè)置子單元,用于根據(jù)所述屬性數(shù)據(jù)設(shè)置所述規(guī)則容器類型的控件的子控件的行數(shù)、列數(shù)、編號(hào)以及子控件的尺寸。10.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括位姿設(shè)置模塊,其中, 所述位姿設(shè)置模塊,用于設(shè)置所述規(guī)則容器類型的控件在用戶界面的虛擬現(xiàn)實(shí)場(chǎng)景中的位姿信息,其中,所述位姿信息包括:所述規(guī)則容器類型的控件上的參考點(diǎn)在虛擬現(xiàn)實(shí)場(chǎng)景中的位置和所述規(guī)則容器類型的控件在虛擬現(xiàn)實(shí)場(chǎng)景中的姿態(tài)。
【文檔編號(hào)】G06F9/44GK105912310SQ201510884623
【公開日】2016年8月31日
【申請(qǐng)日】2015年12月4日
【發(fā)明人】李珅
【申請(qǐng)人】樂視致新電子科技(天津)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1