色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【開發者說】開發案例分享:萬能卡片也能用來玩游戲

HarmonyOS開發者 ? 來源:未知 ? 2023-11-30 21:15 ? 次閱讀
# 開發者說 #

【開發者說】欄目是為HarmonyOS開發者提供的展示和分享平臺,在這里,大家可以發表自己的技術洞察和見解,也可以展示自己的開發心得和成果。

歡迎大家積極投稿,后臺回復【投稿】,即可獲得投稿渠道。期待你們的分享~

前言

作為一名開發愛好者,從大了講,我學習并進行HarmonyOS相關開發是為了能為鴻蒙生態建設盡一份綿薄之力,從小了講,就是為了自己的興趣。而萬能卡片是一個讓我非常感興趣的東西。

很多時候我跟別人解釋什么是萬能卡片,都會這么說:"萬能卡片能實現讓你在不用打開app的前提下,在桌面上就能使用到相關服務"。有一天,我的朋友跟我說,既然可以體驗到各種服務,那么能直接在桌面上玩游戲嗎?

通過對萬能卡片相關文檔的閱讀,我認為想要實現一些簡單的游戲應該沒有問題,思考再三,我決定做一個井字棋小游戲,希望能給各位開發者提供些開發思路。

實現效果如下:

wKgaomVojAOAYiAoACBGlL2rc0k224.gif可以看到,在桌面上有一個2x2的小卡片,通過兩名玩家輪流下棋的方式,進行井字棋的博弈,結局分為玩家1勝利、玩家2勝利或者平局,看似簡單,但也實現了朋友提出來的"在桌面上玩游戲"的要求。

基本知識

想要學習這個項目的開發,首先我們要掌握以下幾個知識:

1. HUAWEI DevEco Studio是開發工具,是華為基于IDEA開源版本打造的開發平臺,支持頁面預覽、多端模擬等功能;

2. ArkTS是目前主推的開發語言,簡潔的語法規則極大的減少了學習成本;

3. 元服務是華為提出的一種新的概念,首先一個特點就是不用下載,即開即用;其次,元服務在手機上的表現形式,主要是萬能卡片,通過與萬能卡片的交互實現一些功能,也可以通過卡片作為類似于app的頁面入口實現更多的功能;最后,既然是以萬能卡片為入口的,其形式就具有多樣化的特點,可以是2x2,也可以是1x2、2x4或者4x4。

項目創建

1. 建立項目

選擇"Atomic Service"即建立一個元服務項目,點擊"Next"。

wKgaomVojAOAS4YvAAGCUiCagys881.png

2. 項目目錄

這里有幾個重要的文件,首先是EntryAbility.ts,這個文件對應的是UIAbility,通俗的理解就是,當用戶想要通過與萬能卡片的交互打開一個類似app頁面的時候,那么打開的頁面就可以看做是一個UIAbility;接著是EntryFromAbility.ts,這個是卡片的Ability,可以做卡片的數據更新,或者與UIAbility相關的交互等;Index.ets就是默認打開的頁面了;而WidgetCard.ets則是卡片的頁面;如果想要設置元服務的標題,可以在AppScope/resources/base/element/string.json中修改value的值。wKgaomVojAOAAEHaAAEOjrVvfKY279.png

3. 預覽器

展開Previewer,預覽器中可以查看頁面效果,其中Default尺寸與大部分手機的實際效果是相同的。可以方便的查看自己的UI代碼寫出來是什么效果,也可以測試交互代碼,非常方便。

wKgaomVojASAEDEFAAGJ2czOhA4219.png

項目開發

以下操作均是在WidgetCard.ets中完成:

1. 繪制棋盤

棋盤的繪制分為三個部分:

首先是背景圖,直接在Column()上進行設置背景,代碼為:

.backgroundImage($r('app.media.back'))
.backgroundImageSize(ImageSize.Cover)

(左右滑動查看更多)

接著通過循環渲染,利用Flex布局來繪制格子,這里用到了兩個知識點:

(1)自定義組件

這里的"gezi"就是一個自定義組件,傳入idx,num這兩個參數,再綁定上一個click事件。

(2)循環渲染

這里需要在棋盤里顯示9個"gezi"組件,最簡單的辦法是寫上9遍基本同樣的代碼,但是這樣既不便于維護,也不美觀,因此可以使用循環渲染的方法。

Flex({wrap:FlexWrap.Wrap}){
  ForEach(this.qipan,(item,idx)=>{
    gezi({
      idx:idx,
      num:item,
      click:()=>{
        if(!this.canplay)return;
        let n = this.qipan[idx];
        if(n > 0)return;
        this.qipan[idx] = this.shunxv;
        this.shunxv = this.shunxv == 1 ? 2 : 1;
        //檢查
        this._Check();
      }
    })
  })
}.width(35*3)
.height(35*3)

(左右滑動查看更多)

然后創建下方的兩個小圖標,"刷新"用來重置棋盤,而"信息"用來點擊進入小游戲的說明頁。這里對于頁面的跳轉,使用的是postCardAction方法。

最后再繪制一個結果顯示頁面,使用條件渲染來控制是否顯示,由于需要覆蓋整個頁面,因此采用了position+zindex的寫法。


	
if(this.resshow){
  //這里繪制一個結果提示頁面
  Column(){
    Text(this.res).fontSize(20).fontColor('white')
  }
  .backgroundColor('rgba(0,0,0,0.3)')
  .height('100%')
  .width('100%')
  .position({x:0,y:0})
  .zIndex(1)
  .alignItems(HorizontalAlign.Center)
  .justifyContent(FlexAlign.Center)
  .onClick(()=>{
    this._Init();
  })
}

(左右滑動查看更多)

最后效果如下:

wKgaomVojASACC3nAAHjsU6SQIw478.png

2. 項目邏輯

井字棋的基本原理非常簡單,就是在橫、豎或者斜線上,同一類棋子排成三個即為勝利,而且整體只有9個格子,所以我們可以直接創建一個一維數組代表棋盤:

@State qipan : Array<number> =
  [0,0,0,
   0,0,0,
0,0,0]

(左右滑動查看更多)

0代表這個格子沒有落子,1代表是"X",2代表是"O",當玩家每次落子后,這個數組中相應的數字就會改變,同時渲染棋盤。

作為一個簡單的小游戲,其勝利的情況是有限的幾種,可以直接將其羅列出來:

constwin=[[0,1,2],[3,4,5],[6,7,8],[0,3,6],[1,4,7],[2,5,8],[0,4,8],[2,4,6]];

(左右滑動查看更多)

簡單解釋一下,比如第一個[0,1,2],指的就是,當棋盤數組的第0位、第1位和第2位,這三個數字相同時,說明有一個玩家勝出了。

每次落子后執行_Check方法,對勝利的每一種情況進行循環,檢查當前棋盤是否符合其中的任意一種勝利條件,當然還有一個條件,那就是要把0排除在勝利條件外,因為0代表的是沒有落子。如果9個格子都填滿了,卻沒有觸發勝利條件的話,則視為平局。

總結

萬能卡片的潛力實際上是非常巨大的,目前市面上我發現大部分的卡片主要用來進行信息的展示,還需要在"交互"或者"可玩性"上繼續挖掘,希望這篇文章能給大家帶來一點啟發,期待出現更多好玩的萬能卡片。

更多推薦

wKgaomVojASAY-VmAADXrK0uGFA180.gif點擊下方圖片鏈接,查看更多欄目內容


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • HarmonyOS
    +關注

    關注

    79

    文章

    1977

    瀏覽量

    30254

原文標題:【開發者說】開發案例分享:萬能卡片也能用來玩游戲

文章出處:【微信號:HarmonyOS_Dev,微信公眾號:HarmonyOS開發者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    《HarmonyOS第一課》煥新升級,賦能開發者快速掌握鴻蒙應用開發

    開發輕量型APP或元服務。課程涵蓋Stage模型進階、多線程編程、組件狀態管理等核心技能,讓開發者獨立完成多個模塊業務及多個子系統等復雜模塊開發與配置工作。 高級課程旨在塑造系統
    發表于 01-02 14:24

    我國軟件開發者數量突破940

    2024開放原子開發者大會20到21日在武漢舉辦。工業和信息化部負責人透露,我國軟件開發者數量突破940。 開源就是開放軟件的源代碼,在遵守許可協議的前提下,任何人都可以使用、修改甚至再發布源代碼
    的頭像 發表于 12-24 13:52 ?131次閱讀

    我國軟件開發者數量超過940

    在近日舉辦的開放原子開發者大會上,工業和信息化部負責人傳來了一則令人振奮的消息:我國軟件開發者數量已經突破940大關。這一數據不僅彰顯了我國在軟件開發領域的雄厚實力,
    的頭像 發表于 12-23 11:08 ?208次閱讀

    HarmonyOS NEXT應用元服務開發Intents Kit(意圖框架服務)習慣推薦方案開發者測試

    北京時間保持一致。 點擊桌面的小藝建議卡片。此時卡片顯示的是“歡迎使用小藝建議”,點擊卡片打開小藝的隱私頁面,并選擇“同意”。如果此前已經同意過小藝的隱私協議,此步驟可以跳過。 打開開發者
    發表于 11-25 17:37

    HarmonyOS NEXT應用元服務開發Intents Kit(意圖框架服務)事件推薦開發者測試

    北京時間保持一致。 點擊桌面的小藝建議卡片。此時卡片顯示的是“歡迎使用小藝建議”,點擊卡片打開小藝的隱私頁面,并選擇“同意”。如果此前已經同意過小藝的隱私協議,此步驟可以跳過。 打開開發者
    發表于 11-18 17:39

    KaihongOS 4.1.2開發者預覽版正式上線,誠邀開發者免費試用!

    深開鴻在2024開放原子開源生態大會上正式宣布KaihongOS4.1.2開發者預覽版全面上線,并向全球開發者開放免費下載。作為KaihongOS不斷創新與發展的重要里程碑,此次預覽版為開發者提供了
    的頭像 發表于 09-28 08:07 ?344次閱讀
    KaihongOS 4.1.2<b class='flag-5'>開發者</b>預覽版正式上線,誠邀<b class='flag-5'>開發者</b>免費試用!

    KaihongOS 4.1.2開發者預覽版正式上線,誠邀開發者免費試用!

    今日,深開鴻在2024開放原子開源生態大會上正式宣布KaihongOS 4.1.2開發者預覽版全面上線,并向全球開發者開放免費下載。作為KaihongOS不斷創新與發展的重要里程碑,此次預覽版為
    的頭像 發表于 09-26 15:59 ?468次閱讀

    【新品體驗】核桃派(WalnutPi)ZeroW開發板免費試用

    核桃派(WalnutPi)ZeroW設計、研發和制造均來源于中國,其定位是一款高性價比而且功能齊全的卡片電腦(SBC),尺寸兼容樹莓派。是一款性能非常強大的Linux開發板,你可以使用它上網、玩游戲、學習編程和創造自己的電子產品
    發表于 07-05 15:36

    玩游戲選天璣!聯發科天璣游戲技術推動游戲生態高速發展

    近日,聯發科天璣開發者大會2024(MDDC 2024)在深圳隆重舉行,以“AI予物”為主題。作為移動游戲技術生態的積極參與、深入探索
    的頭像 發表于 05-07 14:21 ?546次閱讀
    <b class='flag-5'>玩游戲</b>選天璣!聯發科天璣<b class='flag-5'>游戲</b>技術推動<b class='flag-5'>游戲</b>生態高速發展

    MediaTek 天璣開發者大會MDDC 2024啟幕

    上 MediaTek 將帶大家一同進入「 AI 予物」的科技“芯”世界!歡迎大家前往圍觀。 由MediaTek主辦的天璣開發者大會(MediaTek Dimensity Developer
    的頭像 發表于 05-07 10:25 ?685次閱讀

    OpenHarmony開發案例:【電影卡片

    基于元服務卡片的能力,實現帶有卡片的電影應用,介紹卡片開發過程和生命周期實現。
    的頭像 發表于 04-15 17:53 ?1274次閱讀
    OpenHarmony<b class='flag-5'>開發案</b>例:【電影<b class='flag-5'>卡片</b>】

    OpenHarmony開發案例:【計步器卡片

    基于Stage模型實現帶有卡片的計步應用,用于介紹卡片開發及生命周期實現。
    的頭像 發表于 04-15 09:22 ?710次閱讀
    OpenHarmony<b class='flag-5'>開發案</b>例:【計步器<b class='flag-5'>卡片</b>】

    華為宣布HarmonyOS NEXT鴻蒙星河版開發者預覽面向開發者開放申請

    華為宣布HarmonyOS NEXT鴻蒙星河版開發者預覽面向開發者開放申請,這意味著鴻蒙生態進入第二階段,將加速千行百業的應用鴻蒙化。
    的頭像 發表于 01-29 16:42 ?1430次閱讀
    華為宣布HarmonyOS NEXT鴻蒙星河版<b class='flag-5'>開發者</b>預覽面向<b class='flag-5'>開發者</b>開放申請

    您有一份OpenHarmony開發者論壇2023年度總結,請查收~

    ,OpenHarmony 開發者論壇整理不同的榜單,讓更多的人看到這些優秀的貢獻為這些貢獻突出的各位開發者準備了一些周邊禮品,以表謝
    發表于 01-26 17:27

    【年度精選】2023年度top5榜單——鴻蒙開發經驗

    的應用。通過學習本教程,你將了解開源鴻蒙系統在不同場景下的應用和實踐,激發你對人工智能和開源鴻蒙系統的興趣和創造力。 2、開發一個520的HarmonyOS元服務萬能卡片DEMO 作者:李洋水蛟龍 閱讀
    發表于 01-10 17:19
    主站蜘蛛池模板: 青青草国产自偷拍| 亚洲色偷偷偷网站色偷一区人人藻 | 久久伊人电影| 99在线观看免费视频| 日本久久不射| 国产精品卡1卡2卡三卡四| 亚洲精品视频免费观看| 麻豆免费高清完整版| 被老师按在办公桌吸奶头| 小护士大pp| 久久亚洲精品永久网站| 边摸边吃奶边做下面视频| 亚洲AV无码国产精品色在线看| 久久久精品久久久久久| 波多野结衣二区| 亚洲区视频在线观看| 欧美精品九九99久久在免费线 | 国产免费看片| 中文无码第3页不卡av| 日产亚洲一区二区三区| 好爽胸大好深好多水| china野外18:19| 亚洲精品国产精品麻豆99| 女教师跟黑人男朋友激情过后| 国产欧美国产综合第一区| 最近中文字幕在线中文视频| 色爱AV综合区| 蜜芽最新域名解析网站| 国产精品亚洲第一区二区三区| 5g在视影讯天天5g免费观看| 无人区国产片| 欧美人与动牲交ZOOZ特| 娇妻让壮男弄的流白浆| 超碰在线线公开免费视频| 月夜直播免费看| 丝袜足控免费网站xx91| 男生在床上脱美女 胸| 狠很橹快播| 国产精品www视频免费看| 99久久亚洲综合精品| 一本道在线综合久久88|