• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            游戲配置檢測(游戲配置檢測網站)

            更新時間:2023-03-02 11:05:01 閱讀: 評論:0

              上節課給大家介紹了數字面板如何響應鼠標點擊事件,在控件臺打印一條消息表示對鼠標點擊的響應。在實際游戲中,用戶點擊數字面板空白處后將顯示數字選擇面板,用戶點擊數字選擇面板上的數字按鈕后,將點擊的數字填入數字面板。我們規定以下兩種情況下不顯示數字選擇面板:1、用戶沒有點擊數字面板空白處;2、上次填入數字后檢驗出重復數字。運行效果如下圖所示:

            這個截圖中用戶在第四行、第四列的空白處填入了數字9,導致行、列、塊預警,即同一行數字9重復,同一列數字9重復,3X3塊內數字9重復。下面我們先介紹如何顯示數字選擇面板。數字選擇面板是在數字面板的回調函數中實現,代碼如下:

              我們看看那個clickInNumBord()函數做了什么,它的代碼如下:

              這個函數主要做了這幾件事,首先計算出數字面板的起始及結束坐標,然后判斷點擊位置是否在數字面板范圍內,接著計算出點擊位置在數字面板內的行、列號,然后判斷點擊的是不是固定數字,是的話返回fal不變更游戲狀態為4,否則調用tClcikPosition()函數保存點擊位置的行、列號。我們來看看這個tClcikPosition()函數的代碼,如下:

              這個函數的作用我們最后再來介紹,先讓我們回到數字面板的回調函數繼續往下面講解,接下來就是清除鼠標事件,然后將游戲狀態值設置為4,表示顯示數字選擇面板,即響應用戶點擊后彈出數字選擇面板。然后游戲進入等待用戶點擊數字面板上數字按鈕的狀態。那么用戶點擊的數字是怎樣填入數字面板的呢?我來告訴大家吧,關鍵點就在控件參數初始化數組中每一個數字按鈕的事件回調函數,我們以數字按鈕1為例,看看它的回調函數代碼:

              先清除鼠標點擊事件,然后填入數字1,最后恢復游戲狀態值為2,即回到正常游戲狀態,我們來看看填入數字的函數FillNum()的代碼:

              首先獲取數字面板上點擊的位置(行、列號),然后將點擊處的數字標注為用戶選擇填入的數字,最后判斷填入的數字是否合理,即判斷在3X3塊內,同一行內、同一列內是否有重復的數字,有的話設置數字重復預警狀態為顯示狀態。這里check3X3BlockNum()、checkRowNum()和checkColNum()為數字重復檢測函數,下面我們分別來看看它們的代碼,首先看看check3X3BlockNum()的代碼,如下:

              首先調用calc3X3BlockRowCol()計算數字填入位置的3X3 塊起始行、列號及結束行、列號,然后依次對3X3塊內的每一數字檢測是否有重復,這里有兩種情況,一是當前數字是默認生成的固定數字,二是當前數字是用戶輸入的數字,如果是第二種情況,需要判斷當前檢測的位置是否與用戶填入數字的位置一致,一致的話不算重復數字,至于為什么大家開動小腦筋想一下就明白了。下面我們看看那個calc3X3BlockRowCol()的代碼,如下:

              代碼的作用很簡單,一目了然,根據用戶點擊處的行、列號計算出點擊位置所在3X3塊的起始行、列號和結束行、列號。至于checkRowNum()和checkColNum()的代碼并不復雜,與check3X3BlockNum()代碼很相似,這里不展開講了,可以查看本期視頻。好了,到這里,數字已填入數字面板,并且進行了重復檢測,如果數字有重復,將打開預警顯示狀態,數字面板會顯示數字重復預警(即有重復數字的3X3塊、行、列背景與相應大小的紅色塊進行alpha混合,并將混合的結果輸出到相應的背景處),這個效果是如何實現的呢?讓我們先來看看g_o3X3BlockWarning、g_oRowWarning和g_oColWarning這三個預警對象的實現代碼,先介紹3X3塊預警g_o3X3BlockWarning對象的實現代碼

              gxs3x3BlockWarning類繼承自gxsShape,增加了一個表示是否顯示的成員變量bShow,以及對此變更讀寫的兩個成員函數getShow()和tShow(),除此之外,還有initParameter()和draw()兩個成員函數,代碼如下

              這個函數將在形狀初始化的時候被調用,返回當前形狀的起始坐標及寬高。下面看看它的成員函數draw(),代碼如下:

              首先判斷是否需要顯示預警塊,是的話計算塊的起始位置及寬高,然后獲取預警塊所在區域的背景圖像,依次將背景圖像中的每一個像素與紅色進行alpha混合,再將混合好的圖像復制到預警塊所在區域,這種效果就好像在數字面板相應區域放上了一塊紅色透明玻璃。為方便同時顯示預警塊,我將三種預警塊的顯示放在了一個叫做drawWarning()的函數內,代碼如下:

              那么請大家想一下,我們應該在什么地方調用此函數呢?想到沒有?這個地方就是繪制游戲場景的函數內,即gxsGameObj的成員函數drawScene(),代碼如下:

              好了,到此用戶已經可以填入數字了,并且一旦檢測到數字重復會顯示數字重復預警,我們規定,數字重復預警未清除的情況下,不允許用戶點擊數字面板空白處(即點擊后不顯示數字選擇面板,除非用戶點擊的是導致預警的重復數字)。為此,我們還需要修改一下tClcikPosition()的代碼,代碼如下:

              在判斷出顯示預警的情況下,在控件后打印一條提示消息,然后直接返回,否則保存當前點擊的行、列位置。顯然以控件臺消息提示用戶有數字重復預警未清除不夠友好,下節課我們將以對話框的形式提示用戶有數字重復預警未清除。最后,將今天的內容錄了一個視頻,文章未提到的地方可以參看視頻。

            H5數獨游戲開發——數字填入及預警

              未完待續,敬請關注!后續更精彩,謝謝大家!

            本文發布于:2023-02-28 21:06:00,感謝您對本站的認可!

            本文鏈接:http://www.newhan.cn/zhishi/a/1677726300103579.html

            版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。

            本文word下載地址:游戲配置檢測(游戲配置檢測網站).doc

            本文 PDF 下載地址:游戲配置檢測(游戲配置檢測網站).pdf

            標簽:游戲   網站
            相關文章
            留言與評論(共有 0 條評論)
               
            驗證碼:
            推薦文章
            排行榜
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網旗下知識大全大全欄目是一個全百科類寶庫! 優秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 老熟女乱了伦| 国产美女午夜福利视频| 亚洲国产成人综合熟女| 18禁免费无码无遮挡不卡网站| 国内精品久久黄色三级乱| 少妇被粗大的猛烈进出免费视频| 无码精品人妻一区二区三区中| 亚洲毛片αv无线播放一区| 熟女视频一区二区三区嫩草| 国产乱色国产精品免费视频| 波多野结衣久久一区二区| 久久碰国产一区二区三区| 妺妺窝人体色www看美女| 2020年最新国产精品正在播放| 国产a级黄色一区二区| 中文无码乱人伦中文视频在线| 久久精品国产再热青青青| 精品人妻少妇嫩草av专区| 亚洲中文无码手机永久| 国产亚洲精品第一综合麻豆| 亚洲av网一区天堂福利| 成人午夜免费无码视频在线观看| 国产精品美女AV免费观看| 中文字幕无码专区一VA亚洲V专| 黄色一级片免费观看| 亚洲综合网站久久久| 开心五月婷婷综合网站| AV免费播放一区二区三区| 麻豆一区二区三区香蕉视频| 国产精品中文字幕自拍| 久久精品亚洲精品不卡顿| 5D肉蒲团之性战奶水欧美| 久久亚洲欧美日本精品| 国产日韩av一区二区在线| 亚洲欧美不卡高清在线| 91久久夜色精品国产网站| 国产日韩欧美亚洲精品95| 三级三级三级a级全黄| 久久国产乱子精品免费女| 中文字幕网红自拍偷拍视频| 深夜在线观看免费av|