国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

鴻蒙應(yīng)用開(kāi)發(fā)學(xué)習(xí):改進(jìn)小魚(yú)動(dòng)畫(huà)實(shí)現(xiàn)按鍵一直按下時(shí)控制小魚(yú)移動(dòng)和限制小魚(yú)移出屏幕

這篇具有很好參考價(jià)值的文章主要介紹了鴻蒙應(yīng)用開(kāi)發(fā)學(xué)習(xí):改進(jìn)小魚(yú)動(dòng)畫(huà)實(shí)現(xiàn)按鍵一直按下時(shí)控制小魚(yú)移動(dòng)和限制小魚(yú)移出屏幕。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、前言

近期我在學(xué)習(xí)鴻蒙應(yīng)用開(kāi)發(fā),跟著B(niǎo)站UP主黑馬程序員的視頻教程做了一個(gè)小魚(yú)動(dòng)畫(huà)應(yīng)用,UP主提供的小魚(yú)動(dòng)畫(huà)源代碼僅僅實(shí)現(xiàn)了移動(dòng)組件的功能,還存在一些問(wèn)題,如默認(rèn)進(jìn)入頁(yè)面是豎屏而頁(yè)面適合橫屏顯示;真機(jī)測(cè)試發(fā)現(xiàn)手機(jī)的狀態(tài)欄影響到了返回鍵對(duì)按鍵事件的響應(yīng);方向鍵不能響應(yīng)一直按著的操作;還有小魚(yú)會(huì)移出屏幕范圍。

之前已經(jīng)解決了強(qiáng)制橫屏和隱藏手機(jī)狀態(tài)欄,這次則是通過(guò)一番研究,實(shí)現(xiàn)了按鍵一直按下時(shí)控制小魚(yú)移動(dòng)和限制小魚(yú)移出屏幕這兩個(gè)功能。

鴻蒙應(yīng)用開(kāi)發(fā)學(xué)習(xí):改進(jìn)小魚(yú)動(dòng)畫(huà)實(shí)現(xiàn)按鍵一直按下時(shí)控制小魚(yú)移動(dòng)和限制小魚(yú)移出屏幕,學(xué)習(xí)筆記,問(wèn)題解決,鴻蒙應(yīng)用開(kāi)發(fā)學(xué)習(xí),學(xué)習(xí),華為,鴻蒙系統(tǒng),harmonyos?

二、實(shí)現(xiàn)方法

1. 一直按下方向鍵時(shí)控制小魚(yú)移動(dòng)

實(shí)現(xiàn)這一功能是在方向鍵下添加onTouch方法,對(duì)按鍵一直按下事件進(jìn)行響應(yīng)。在onTouch方法中還需要判斷TouchType.Down事件和TouchType.Up事件。在TouchType.Down事件時(shí),添加animateTo方法,實(shí)現(xiàn)按鍵時(shí)一直控制小魚(yú)移動(dòng)(需要通過(guò)setInterval方法設(shè)置定時(shí)任務(wù)讓animateTo方法定期執(zhí)行)。在TouchType.Up事件時(shí),通過(guò)clearInterval清除定時(shí)任務(wù),小魚(yú)就不會(huì)一直移動(dòng)了。以向右按鍵為例,改造后的代碼如下:

Button('→').backgroundColor('#20101010')
            .onClick(() => {              
                animateTo(
                 { duration: 500 },
                 () => {
                   this.src = $r('app.media.fish')
                   this.fishX += this.speed
                 }
               )
            })
            .onTouch((event: TouchEvent) => {
              if (event.type === TouchType.Down) {
                this.taskId = setInterval(() => {
                  animateTo(
                    { duration: 500 },
                    () => {                      
                    this.src = $r('app.media.fish')
                    this.fishX += this.speed
                    }
                  )
                }, 200)
              }
              if (event.type === TouchType.Up) {
                clearInterval(this.taskId)
                this.taskId = -1
              }
            })

        }
        .height(240)
        .width(240)
        .justifyContent(FlexAlign.Center)
        .position({ x: 0, y: 120 })

2.限制小魚(yú)移出屏幕

實(shí)現(xiàn)了上面的代碼后,一直按下方向鍵,小魚(yú)終于可以一直移動(dòng)了,但往一個(gè)方向一直移動(dòng)就會(huì)移出屏幕,為讓小魚(yú)不移出屏幕,還需要對(duì)按鍵操作事件進(jìn)行判斷,檢查當(dāng)前小魚(yú)的位置,只有小魚(yú)在限制的范圍內(nèi)才能執(zhí)行animateTo方法移動(dòng)小魚(yú)。

按下向左方向鍵:對(duì)小魚(yú)的X坐標(biāo)(this.fishX)進(jìn)行判斷。屏幕左側(cè)邊界的X值為0,小魚(yú)的大小為40(this.fishSize)。this.fishX是小魚(yú)圖片中心點(diǎn)的坐標(biāo),則當(dāng)小魚(yú)接觸到屏幕左側(cè)邊界時(shí),小魚(yú)的中心點(diǎn)X坐標(biāo)值為20。本軟件中設(shè)置的小魚(yú)的移動(dòng)速度為20(this.speed),因此,我設(shè)置的判斷條件是當(dāng)this.fishX >= this.fishSize時(shí),才能執(zhí)行animateTo方法。當(dāng)this.fishX == 40時(shí),再移動(dòng)一次this.fishX就變成了20,此時(shí)小魚(yú)圖片的左側(cè)邊緣正好接觸到屏幕左邊界。

按下向上方向鍵:對(duì)小魚(yú)的Y坐標(biāo)(this.fishY)進(jìn)行判斷。屏幕上邊界Y值為0,小魚(yú)大小為40。原理和按下向左方向機(jī)一樣。我設(shè)置的判斷條件是當(dāng)this.fishY >= this.fishSize時(shí),才能執(zhí)行animateTo方法。

對(duì)于屏幕下方的邊界和屏幕右側(cè)的邊界判斷需要導(dǎo)入模塊?import display from '@ohos.display' ,并在頁(yè)面的onPageShow方法獲取屏幕的尺寸信息。

onPageShow() {
    // 獲取旋轉(zhuǎn)的方向,具體可以查看對(duì)應(yīng)文檔
    let orientation = window.Orientation.LANDSCAPE;

    // 獲取屏幕尺寸信息
    let promise = display.getAllDisplays()
    promise.then((data) => {
      console.info('設(shè)備屏幕信息:' + JSON.stringify(data));
      console.info('testTag', '屏幕寬度px:' + JSON.stringify(data[0].width));
      console.info('testTag', '屏幕高度px:' + JSON.stringify(data[0].height));
      this.screenWidth = px2vp(data[0].width)
      this.screenHeight = px2vp(data[0].height)
      console.info('testTag', '屏幕寬度vp:' + JSON.stringify(this.screenWidth));
      console.info('testTag', '屏幕高度vp:' + JSON.stringify(this.screenHeight));
    }).catch((err) => {
      console.error('錯(cuò)誤信息:' + JSON.stringify(err));
    })
  }

按下向右方向機(jī):對(duì)小魚(yú)的X坐標(biāo)(this.fishX)進(jìn)行判斷。屏幕右側(cè)邊界的X值為變量this.screenHeight, 則判定語(yǔ)句為 this.fishX <= this.screenHeight - this.fishSize?。只有符合該條件是才執(zhí)行animateTo方法。

按下向下方向機(jī):對(duì)小魚(yú)的Y坐標(biāo)(this.fishY)進(jìn)行判斷。屏幕右側(cè)邊界的Y值為變量this.screenWidth, 則判定語(yǔ)句為 this.fishY <= this.screenWidth - this.fishSize?。只有符合該條件是才執(zhí)行animateTo方法。

這些判斷語(yǔ)句都要添加到方向鍵的onClick方法和onTouch方法。

三、完整源代碼

最后上這個(gè)文件的完整源代碼:

import router from '@ohos.router';
import window from '@ohos.window'; // 用于強(qiáng)制設(shè)為橫屏
import display from '@ohos.display'

@Entry
@Component
struct Aquarium1Page {
  onPageShow() {
    // 獲取旋轉(zhuǎn)的方向,具體可以查看對(duì)應(yīng)文檔
    let orientation = window.Orientation.LANDSCAPE;
    try {
      // 設(shè)置屏幕旋轉(zhuǎn)
      globalThis.windowClass.setPreferredOrientation(orientation, (err) => {
        console.log('testTag', `onPageShow函數(shù)中setPreferredOrientation方法錯(cuò)誤碼為${err}`)
      });
    } catch (exception) {
      console.error('設(shè)置失敗: ' + JSON.stringify(exception));
    }
    // 獲取屏幕尺寸信息
    let promise = display.getAllDisplays()
    promise.then((data) => {
      console.info('設(shè)備屏幕信息:' + JSON.stringify(data));
      console.info('testTag', '屏幕寬度px:' + JSON.stringify(data[0].width));
      console.info('testTag', '屏幕高度px:' + JSON.stringify(data[0].height));
      this.screenWidth = px2vp(data[0].width)
      this.screenHeight = px2vp(data[0].height)
      console.info('testTag', '屏幕寬度vp:' + JSON.stringify(this.screenWidth));
      console.info('testTag', '屏幕高度vp:' + JSON.stringify(this.screenHeight));
    }).catch((err) => {
      console.error('錯(cuò)誤信息:' + JSON.stringify(err));
    })
  }

  onPageHide() {
    // 獲取旋轉(zhuǎn)的方向,具體可以查看對(duì)應(yīng)文檔
    let orientation = window.Orientation.PORTRAIT;
    try {
      // 設(shè)置屏幕旋轉(zhuǎn)
      globalThis.windowClass.setPreferredOrientation(orientation, (err) => {
        console.log('testTag', `onPageHide函數(shù)中setPreferredOrientation方法錯(cuò)誤碼為${err}`)
      });
    } catch (exception) {
      console.error('設(shè)置失敗: ' + JSON.stringify(exception));
    }
  }

  // 小魚(yú)的位置
  @State fishX: number = 200
  @State fishY: number = 180
  // 小魚(yú)的大小
  fishSize: number = 40
  // 小魚(yú)角度
  @State angle: number = 0
  // 小魚(yú)圖片
  @State src: Resource = $r('app.media.fish')
  // 是否開(kāi)始游戲
  @State isBegin: boolean = false
  // 小魚(yú)的速度
  speed: number = 20
  // 用于控制Interval的id
  taskId: number = -1
  // 屏幕尺寸
  screenWidth: number = px2vp(2000)
  screenHeight: number = px2vp(1080)

  build() {
    Row() {
      Stack() {
        Button('返回')
          .position({ x: 20, y: 20 })
          .backgroundColor('#20101010')
          .onClick(() => {
            router.back()
          })

        if (!this.isBegin) {
          Button('開(kāi)始游戲')
            .onClick(() => {
              animateTo(
                { duration: 1000 },
                () => {
                  // 點(diǎn)擊后顯示小魚(yú)
                  this.isBegin = true
                }
              )
            })
        } else {
          // 小魚(yú)圖片
          Image(this.src)
            .position({ x: this.fishX - 20, y: this.fishY - 20 })
            .rotate({ angle: this.angle, centerX: '50%', centerY: '50%' })
            .width(this.fishSize)
            .height(this.fishSize)
              //.animation({duration: 500, curve: Curve.Smooth})
            .transition({
              type: TransitionType.Insert,
              opacity: 0,
              translate: { x: -250 }
            })
        }
        // 操作按鈕
        Row() {
          // 向左移動(dòng),小魚(yú)身體不能超出屏幕范圍
          Button('←').backgroundColor('#20101010')
            .onClick(() => {
              if (this.fishX >= this.fishSize) {
                animateTo(
                  { duration: 500 },
                  () => {
                    this.src = $r('app.media.fish_rev')
                    this.fishX -= this.speed
                  }
                )
              }
            })
            .onTouch((event: TouchEvent) => {
              if (event.type === TouchType.Down) {
                this.taskId = setInterval(() => {
                  animateTo(
                    { duration: 500 },
                    () => {
                      if (this.fishX >= this.fishSize) {
                        this.src = $r('app.media.fish_rev')
                        this.fishX -= this.speed
                      }
                    }
                  )
                }, 200)
              }
              if (event.type === TouchType.Up) {
                clearInterval(this.taskId)
                this.taskId = -1
              }
            })

          Column({ space: 40 }) {
            // 向上和向下移動(dòng),小魚(yú)的身體均不能超出屏幕范圍
            Button('↑').backgroundColor('#20101010')
              .onClick(() => {
                if (this.fishY >= this.fishSize) {
                  animateTo(
                    { duration: 500 },
                    () => {
                      this.fishY -= this.speed
                    }
                  )
                }
              })
              .onTouch((event: TouchEvent) => {
                if (event.type === TouchType.Down) {
                  this.taskId = setInterval(() => {
                    animateTo(
                      { duration: 500 },
                      () => {
                        if (this.fishY >= this.fishSize) {
                          this.fishY -= this.speed
                        }
                      }
                    )
                  }, 200)
                }
                if (event.type === TouchType.Up) {
                  console.log("testTag", `停止向上,當(dāng)前fishY為:${this.fishY}`)
                  clearInterval(this.taskId)
                  this.taskId = -1
                }
              })
            Button('↓').backgroundColor('#20101010')
              .onClick(() => {
                if (this.fishY <= this.screenWidth - this.fishSize) {
                  animateTo(
                    { duration: 500 },
                    () => {
                      this.fishY += this.speed
                    }
                  )
                }
              })
              .onTouch((event: TouchEvent) => {
                if (event.type === TouchType.Down) {
                  this.taskId = setInterval(() => {
                    animateTo(
                      { duration: 500 },
                      () => {
                        if (this.fishY <= this.screenWidth - this.fishSize) {
                          this.fishY += this.speed
                        }
                      }
                    )
                  }, 200)
                }
                if (event.type === TouchType.Up) {
                  console.log("testTag", `停止向下,當(dāng)前fishY為:${this.fishY}`)
                  clearInterval(this.taskId)
                  this.taskId = -1
                }
              })
          }

          Button('→').backgroundColor('#20101010')
            .onClick(() => {
              if (this.fishX <= this.screenHeight - this.fishSize) {
                animateTo(
                  { duration: 500 },
                  () => {
                    this.src = $r('app.media.fish')
                    this.fishX += this.speed
                  }
                )
              }
            })
            .onTouch((event: TouchEvent) => {
              if (event.type === TouchType.Down) {
                this.taskId = setInterval(() => {
                  animateTo(
                    { duration: 500 },
                    () => {
                      if (this.fishX <= this.screenHeight - this.fishSize) {
                        this.src = $r('app.media.fish')
                        this.fishX += this.speed
                      }
                    }
                  )
                }, 200)
              }
              if (event.type === TouchType.Up) {
                clearInterval(this.taskId)
                this.taskId = -1
              }
            })

        }
        .height(240)
        .width(240)
        .justifyContent(FlexAlign.Center)
        .position({ x: 0, y: 120 })
      }
      .height('100%').width('100%')
    }
    .width('100%')
    .height('100%')
    .backgroundImage($r('app.media.underwater_cartoon'))
    .backgroundImageSize({ height: '100%', width: '100%' })

  }
}

四、B站視頻鏈接:

鴻蒙應(yīng)用開(kāi)發(fā)學(xué)習(xí):改進(jìn)小魚(yú)動(dòng)畫(huà)實(shí)現(xiàn)按鍵一直按下時(shí)控制小魚(yú)移動(dòng)和限制小魚(yú)移出屏幕-CSDN博客文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-791171.html

到了這里,關(guān)于鴻蒙應(yīng)用開(kāi)發(fā)學(xué)習(xí):改進(jìn)小魚(yú)動(dòng)畫(huà)實(shí)現(xiàn)按鍵一直按下時(shí)控制小魚(yú)移動(dòng)和限制小魚(yú)移出屏幕的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀(guān)點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • OpenHarmony開(kāi)源鴻蒙學(xué)習(xí)入門(mén) - 基于3.2Release 應(yīng)用開(kāi)發(fā)環(huán)境安裝

    OpenHarmony開(kāi)源鴻蒙學(xué)習(xí)入門(mén) - 基于3.2Release 應(yīng)用開(kāi)發(fā)環(huán)境安裝

    基于目前官方master主支,最新文檔版本3.2Release,更新應(yīng)用開(kāi)發(fā)環(huán)境安裝文檔。 一、安裝IDE: 1.IDE安裝的系統(tǒng)要求 2.IDE下載官網(wǎng)鏈接 (IDE下載鏈接) 3.下載完成后進(jìn)行IDE安裝。 【最新的IDE,HarmonyOS和OpenHarmony的IDE已經(jīng)統(tǒng)一,只是SDK管理分開(kāi)】 IDE的依賴(lài)有 node.js 和 Ohpm。 有兩種

    2024年02月15日
    瀏覽(31)
  • OpenHarmony鴻蒙原生應(yīng)用開(kāi)發(fā),ArkTS、ArkUI學(xué)習(xí)踩坑學(xué)習(xí)筆記,持續(xù)更新中。

    OpenHarmony鴻蒙原生應(yīng)用開(kāi)發(fā),ArkTS、ArkUI學(xué)習(xí)踩坑學(xué)習(xí)筆記,持續(xù)更新中。

    結(jié)論:在BIOS里面將Hyper-V打開(kāi),DevEco Studio模擬器可以成功啟動(dòng)。 如果在另外的文件中引用組件,需要使用export導(dǎo)出,并在使用的頁(yè)面import該自定義組件。 1.自定義組件(被導(dǎo)入組件) 2.組合組件(引用自定義組件) 1、main_pages.json配置文件配置靜態(tài)路由地址,配置文件

    2024年02月04日
    瀏覽(21)
  • HarmonyOS 鴻蒙應(yīng)用開(kāi)發(fā)(十一、面向鴻蒙開(kāi)發(fā)的JavaScript基礎(chǔ))

    HarmonyOS 鴻蒙應(yīng)用開(kāi)發(fā)(十一、面向鴻蒙開(kāi)發(fā)的JavaScript基礎(chǔ))

    ArkTS 是HarmonyOS(鴻蒙操作系統(tǒng))原生應(yīng)用開(kāi)發(fā)的首選語(yǔ)言。它是用于構(gòu)建用戶(hù)界面的一種TypeScript方言,擴(kuò)展了TypeScript以適應(yīng)HarmonyOS生態(tài)系統(tǒng)的UI開(kāi)發(fā)需求。ArkTS 融合了TypeScript的靜態(tài)類(lèi)型系統(tǒng)和現(xiàn)代UI框架的設(shè)計(jì)理念,為開(kāi)發(fā)者提供了一種更安全高效的方式來(lái)編寫(xiě)HarmonyOS應(yīng)用。

    2024年02月20日
    瀏覽(35)
  • 鴻蒙實(shí)戰(zhàn):ArkTs 開(kāi)發(fā)一個(gè)鴻蒙應(yīng)用

    鴻蒙實(shí)戰(zhàn):ArkTs 開(kāi)發(fā)一個(gè)鴻蒙應(yīng)用

    學(xué)習(xí)過(guò)的 ArkTs 知識(shí)點(diǎn),一步一步開(kāi)發(fā)一個(gè)小的鴻蒙應(yīng)用示例,涉及到 ?ArkTs 語(yǔ)法、注解 @Entry 、 @Component 、 @state 、路由、生命周期、 @Prop 、 @Link 、常用組件的使用等等知識(shí)點(diǎn)。 要開(kāi)發(fā)一個(gè)鴻蒙應(yīng)用,首先我們需要知道 系統(tǒng)是如何找到頁(yè)面的啟動(dòng)入口 。 鴻蒙如何啟動(dòng)應(yīng)用

    2024年02月22日
    瀏覽(25)
  • 【HarmonyOS】開(kāi)發(fā)一個(gè)可以看小姐姐的鴻蒙應(yīng)用 鴻蒙開(kāi)發(fā)入門(mén)

    【HarmonyOS】開(kāi)發(fā)一個(gè)可以看小姐姐的鴻蒙應(yīng)用 鴻蒙開(kāi)發(fā)入門(mén)

    先整張效果圖,丑點(diǎn)是丑點(diǎn),但可以用,買(mǎi)不起鴻蒙系統(tǒng)手機(jī)的我,只配用虛擬機(jī)。 要說(shuō)目前最火的手機(jī)操作系統(tǒng),要我來(lái)看的話(huà)那必然是鴻蒙無(wú)疑。16號(hào)剛剛結(jié)束了第五次鴻蒙內(nèi)測(cè),在看到這次的內(nèi)測(cè)名單之后,居然有970的機(jī)器,這是不是說(shuō)明俺這手里奮戰(zhàn)了三年的榮耀

    2024年02月15日
    瀏覽(28)
  • 鴻蒙應(yīng)用開(kāi)發(fā)--事件

    代碼書(shū)寫(xiě)步驟 根據(jù)需求調(diào)用響應(yīng)的接口 獲取組件ID 設(shè)置監(jiān)聽(tīng)事件 編寫(xiě)點(diǎn)組件觸發(fā)后的動(dòng)作 事件分類(lèi) 單擊事件 雙擊事件 長(zhǎng)按事件 滑動(dòng)事件 調(diào)用接口 獲取組件ID 設(shè)置監(jiān)聽(tīng)事件 當(dāng)前類(lèi)作為接口實(shí)現(xiàn)類(lèi) 當(dāng)前類(lèi)繼承接口,在本類(lèi)中重寫(xiě)父類(lèi)方法。 定義接口實(shí)現(xiàn)類(lèi) 重新寫(xiě)一個(gè)類(lèi)

    2024年02月09日
    瀏覽(45)
  • 鴻蒙(HarmonyOS)應(yīng)用開(kāi)發(fā)指南

    鴻蒙(HarmonyOS)應(yīng)用開(kāi)發(fā)指南

    1.1 簡(jiǎn)介 鴻蒙 (即 HarmonyOS ,開(kāi)發(fā)代號(hào) Ark ,正式名稱(chēng)為華為終端鴻蒙智能設(shè)備操作系統(tǒng)軟件)是華為公司自 2012 年以來(lái)開(kāi)發(fā)的一款可支持鴻蒙原生應(yīng)用和兼容 AOSP 應(yīng)用的 分布式操作系統(tǒng) 。該系統(tǒng)利用“分布式”技術(shù)將 手機(jī)、電腦、平板、電視、汽車(chē)和智能穿戴 等多款設(shè)備

    2024年02月02日
    瀏覽(59)
  • 鴻蒙3.0應(yīng)用開(kāi)發(fā)體驗(yàn)

    鴻蒙3.0應(yīng)用開(kāi)發(fā)體驗(yàn)

    鴻蒙os3.0發(fā)布以來(lái),華為官方開(kāi)始主推ets+arkui開(kāi)發(fā)模式,逐漸拋棄java,為以后去安卓化做鋪墊,但目前在筆者體驗(yàn)來(lái)看,仍需要大力完善,還有很長(zhǎng)的路要走! 什么是ets?ts是js的超集,而ets是ts的超集!ets后綴的文件中可以使用鴻蒙SDKapi的能力,就這么簡(jiǎn)單!而arkui則與Flu

    2024年02月09日
    瀏覽(18)
  • 【鴻蒙】鴻蒙操作系統(tǒng)應(yīng)用開(kāi)發(fā)入門(mén)級(jí)初體驗(yàn)

    【鴻蒙】鴻蒙操作系統(tǒng)應(yīng)用開(kāi)發(fā)入門(mén)級(jí)初體驗(yàn)

    目錄 ? 一 鴻蒙相關(guān)資源 二 創(chuàng)建新工程 三 程序設(shè)計(jì) 鴻蒙學(xué)堂:https://hmxt.org/ ? (1)下載鴻蒙的IDE:DevEco Studio,安裝過(guò)程一路next即可; (2)安裝好之后,新建工程,我這邊使用Java進(jìn)行開(kāi)發(fā),所以選擇Empty Ability(Java),選擇完成之后,點(diǎn)擊Next: (3)工程配置,主要配置一下

    2024年02月07日
    瀏覽(28)
  • 鴻蒙應(yīng)用開(kāi)發(fā)嘗鮮:初識(shí)HarmonyOS

    鴻蒙應(yīng)用開(kāi)發(fā)嘗鮮:初識(shí)HarmonyOS

    來(lái)源:華為官方網(wǎng)站 : https://developer.huawei.com/ 相信大家對(duì)鴻蒙應(yīng)用開(kāi)發(fā)也不在陌生,很多身處互聯(lián)網(wǎng)行業(yè)或者不了解的人們現(xiàn)在也一定都聽(tīng)說(shuō)過(guò)華為鴻蒙.這里我將不再說(shuō)廢話(huà),直接步入正題 HarmonyOS應(yīng)用開(kāi)發(fā)采用的是ArkTS語(yǔ)言,ArkTS是在TypeScript(簡(jiǎn)稱(chēng)TS)基礎(chǔ)上的拓展,而TS又是JavaScrip

    2024年02月02日
    瀏覽(35)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包