日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

3天內(nèi)不再提示

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

HarmonyOS開發(fā)者 ? 來源:未知 ? 2023-11-30 21:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

# 開發(fā)者說 #

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

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

前言

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

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

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

實現(xiàn)效果如下:

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

基本知識

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

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

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

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

項目創(chuàng)建

1. 建立項目

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

wKgaomVojAOAS4YvAAGCUiCagys881.png

2. 項目目錄

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

3. 預覽器

展開Previewer,預覽器中可以查看頁面效果,其中Default尺寸與大部分手機的實際效果是相同的??梢苑奖愕牟榭醋约旱腢I代碼寫出來是什么效果,也可以測試交互代碼,非常方便。

wKgaomVojASAEDEFAAGJ2czOhA4219.png

項目開發(fā)

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

1. 繪制棋盤

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

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

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

(左右滑動查看更多)

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

(1)自定義組件

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

(2)循環(huán)渲染

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

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)

(左右滑動查看更多)

然后創(chuàng)建下方的兩個小圖標,"刷新"用來重置棋盤,而"信息"用來點擊進入小游戲的說明頁。這里對于頁面的跳轉(zhuǎn),使用的是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個格子,所以我們可以直接創(chuàng)建一個一維數(shù)組代表棋盤:

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

(左右滑動查看更多)

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

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

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],指的就是,當棋盤數(shù)組的第0位、第1位和第2位,這三個數(shù)字相同時,說明有一個玩家勝出了。

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

總結

萬能卡片的潛力實際上是非常巨大的,目前市面上我發(fā)現(xiàn)大部分的卡片主要用來進行信息的展示,還需要在"交互"或者"可玩性"上繼續(xù)挖掘,希望這篇文章能給大家?guī)硪稽c啟發(fā),期待出現(xiàn)更多好玩的萬能卡片。

更多推薦

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


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

    關注

    80

    文章

    2157

    瀏覽量

    36322

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    回望2025:與162開發(fā)者一起,讓AI硬件觸手可及

    致每一位涂鴉開發(fā)者:2025農(nóng)歷年即將畫上句號。這一年,AI浪潮席卷全球,AI硬件賽道迎來前所未有的機遇與挑戰(zhàn)。而你們——162涂鴉開發(fā)者,用一行行代碼、一個個創(chuàng)意,讓AI真正走進千家
    的頭像 發(fā)表于 02-12 18:59 ?418次閱讀
    回望2025:與162<b class='flag-5'>萬</b><b class='flag-5'>開發(fā)者</b>一起,讓AI硬件觸手可及

    2025華為開發(fā)者大賽暨開發(fā)者年度會議成功舉辦

    12月27日-12月28日,以“成就AI原生時代先鋒開發(fā)者”為主題的2025華為開發(fā)者大賽暨開發(fā)者年度會議在上海華為練秋湖研發(fā)中心舉辦。本次會議旨在匯聚先鋒開發(fā)力量,搭建開放共贏的生態(tài)
    的頭像 發(fā)表于 12-31 13:32 ?1087次閱讀

    2025開源鴻蒙開發(fā)者激勵計劃正式啟動

    11月21日,2025開放原子開發(fā)者大會盛大啟幕,聚焦“AI共智,開源共享”主題,吸引了來自全球的開發(fā)者、企業(yè)技術領袖、社區(qū)維護及高校科研力量參會。作為大會的重要組成部分,開源鴻蒙技術分論壇同期
    的頭像 發(fā)表于 11-27 14:44 ?856次閱讀

    QCon·上海站HarmonyOS開發(fā)者技術分論壇:共探鴻蒙開發(fā)新機遇

    當前,AI 技術重構開發(fā)邏輯、多設備協(xié)同成為技術主流,鴻蒙開發(fā)能力正迎來從“能用好用”到“實用便捷”的關鍵躍遷。10月24日,2025年QCon全球軟件開發(fā)大會上海站HarmonyOS
    的頭像 發(fā)表于 10-24 15:59 ?1004次閱讀
    QCon·上海站HarmonyOS<b class='flag-5'>開發(fā)者</b>技術分論壇:共探鴻蒙<b class='flag-5'>開發(fā)</b>新機遇

    2025開放原子開發(fā)者大會11月啟幕

    開發(fā)者年度盛會即將登場!2025開放原子開發(fā)者大會將于11月21-22日,在北京北人亦創(chuàng)國際會展中心盛大召開。大會以“一切為了開發(fā)者”為主題,匯聚全球開源智慧——國內(nèi)外優(yōu)秀開發(fā)者、學術
    的頭像 發(fā)表于 10-24 14:05 ?1155次閱讀

    創(chuàng)龍 瑞芯微 RK3588 國產(chǎn)2.4GHz八核 工業(yè)開發(fā)板—ISP圖像處理開發(fā)案

    創(chuàng)龍科技研發(fā)的 TL3588-EVM 評估板具備強大視頻處理能力,可滿足多場景視頻開發(fā)需求。為助力開發(fā)者快速上手,本文整理 7 個實用視頻開發(fā)案例,涵蓋從采集到顯示的全流程,詳細說明各案例的硬件連接、參數(shù)配置與代碼解析,幫助
    的頭像 發(fā)表于 10-21 15:57 ?1140次閱讀
    創(chuàng)龍 瑞芯微 RK3588 國產(chǎn)2.4GHz八核 工業(yè)<b class='flag-5'>開發(fā)</b>板—ISP圖像處理<b class='flag-5'>開發(fā)案</b>例

    HarmonyOSAI編程萬能卡片生成(二)

    工程保存完成后,工程中會新增如下卡片相關文件: 自定義配置邏輯代碼 邏輯代碼包含實現(xiàn)卡片數(shù)據(jù)交互和卡片事件兩類。 卡片數(shù)據(jù)交互:觸發(fā)卡片頁面
    發(fā)表于 09-09 16:10

    HarmonyOSAI編程萬能卡片生成(一)

    基于AI大模型理解開發(fā)者卡片需求信息,通過對話式的交互智能生成HarmonyOS萬能卡片工程。 使用約束 建議從以下維度描述卡片需求: 當
    發(fā)表于 09-08 17:09

    NVIDIA DRIVE AGX Thor開發(fā)者套件重磅發(fā)布

    這款由 NVIDIA DriveOS 7 驅(qū)動的開發(fā)者套件能夠幫助開發(fā)者們打造出更安全的智能汽車和交通解決方案。
    的頭像 發(fā)表于 09-04 11:20 ?1641次閱讀

    曙光網(wǎng)絡SugonRI開發(fā)者社區(qū)正式上線

    在人工智能與工業(yè)深度融合的大潮中,工業(yè)軟件正在成為推動產(chǎn)業(yè)升級的關鍵引擎。為了讓更多開發(fā)者快速掌握工業(yè)級編程技術、共享行業(yè)實踐成果,曙光網(wǎng)絡正式推出開發(fā)者社區(qū)——曙睿(SugonRI)開發(fā)者網(wǎng)站
    的頭像 發(fā)表于 09-04 09:58 ?1186次閱讀

    NVIDIA Jetson AGX Thor開發(fā)者套件重磅發(fā)布

    開發(fā)者與未來創(chuàng)造們,準備好迎接邊緣AI的史詩級革新了嗎?NVIDIA以顛覆性技術再次突破極限,正式推出Jetson AGX Thor開發(fā)者套件!作為繼傳奇產(chǎn)品Jetson AGX Orin之后
    的頭像 發(fā)表于 08-28 14:31 ?1801次閱讀

    矽速科技正式入駐 RuyiSDK 開發(fā)者社區(qū),共建 RISC-V 開發(fā)者生態(tài)!

    近日,深圳矽速科技正式入駐RuyiSDK開發(fā)者社區(qū),攜手社區(qū)共同推動RISC-V技術的發(fā)展與廣泛應用,為開發(fā)者提供一個更加便捷高效的開發(fā)環(huán)境。關于RuyiSDKRuyiSDK是中國科學院軟件研究所
    的頭像 發(fā)表于 07-10 11:00 ?1425次閱讀
    矽速科技正式入駐 RuyiSDK <b class='flag-5'>開發(fā)者</b>社區(qū),共建 RISC-V <b class='flag-5'>開發(fā)者</b>生態(tài)!

    HDC 2025開發(fā)者主題演講精彩回顧

    日前,華為開發(fā)者大會(HDC 2025)進入第二天,行業(yè)領袖、技術專家、全球開發(fā)者齊聚現(xiàn)場,共同見證這場科技盛會。在開發(fā)者主題演講中,華為技術專家深入解析HarmonyOS的最新技術、體驗創(chuàng)新以及
    的頭像 發(fā)表于 07-09 11:20 ?1509次閱讀

    九聯(lián)開鴻亮相華為開發(fā)者大會2025

    此前,6月20日-22日,華為開發(fā)者大會2025(HDC.2025)在松山湖科學城盛大開幕。華為開發(fā)者大會是華為面向全球開發(fā)者的年度技術盛會,本次大會聚焦鴻蒙生態(tài)、AI技術及產(chǎn)業(yè)合作,吸引了全球超1.2
    的頭像 發(fā)表于 06-26 14:31 ?1294次閱讀

    鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實例(游戲

    顯示剩余時間) 好友動態(tài)瀑布流(滑動查看玩家相冊) 更離譜的是有個團隊基于這個案例,三天就做出了《賽博菜園》的偷菜提醒卡片,現(xiàn)在日活漲了300%! 五、避坑指南:文檔的正確打開方式 在
    發(fā)表于 06-03 18:22
    乐昌市| 怀化市| 巴南区| 成武县| 康定县| 南漳县| 昌都县| 海晏县| 浙江省| 漳平市| 阳曲县| 伊金霍洛旗| 白朗县| 昌乐县| 昆山市| 平山县| 腾冲县| 南川市| 格尔木市| 于都县| 合肥市| 陕西省| 南京市| 阿拉善左旗| 绥化市| 西丰县| 汶上县| 南投县| 祁连县| 谢通门县| 襄垣县| 车险| 峨山| 陆良县| 江油市| 富蕴县| 蒲城县| 浮梁县| 工布江达县| 中卫市| 香港|