七、功能性組件與事件邏輯(IVX 快速開發教程)

七、功能性組件與事件邏輯

由于 iVX 極度易用的特性,在 iVX 中開發微信小程序、WebApp、小游戲應用的開發流程大致相同。介紹完基礎可視化組件后通過后臺的服務、數據庫與事件結合即可完成一個應用的開發;此篇將會介紹 iVX 功能性組件與事件,包括微信小程序、小游戲事件。

文章目錄

  • 七、功能性組件與事件邏輯
      • 7.1 變量組件
        • 7.1.1 文本變量與數據綁定
        • 7.1.2 數值變量與布爾變量
        • 7.1.3 一維數組
        • 7.1.4 循環組件
        • 7.1.5 二維數組與嵌套循環
        • 7.1.6 對象變量
        • 7.1.7 對象數組
      • 7.2 事件邏輯
        • 7.2.1 文件接口與按鈕
        • 7.2.2 通過按鈕點擊更改文本內容
        • 7.2.3 頁面跳轉
      • 7.3 小游戲
        • 7.3.1 圓形
        • 7.3.2 矩形
        • 7.3.3 繪制多邊形
        • 7.3.4 觸發器
        • 7.3.5 物理世界

7.1 變量組件

變量組件 在 iVX 中我們可以當做是一個存儲數據的容器,該容器可以存儲不同類型的數據,在 iVX 中如下幾個變量組件:

  • 文本變量
  • 數值變量
  • 布爾變量
  • 通用變量
  • 一維數組
  • 二位數組
  • 對象變量
  • 對象數組
  • 時間變量

在此小節中我們介紹幾個常用的變量 文本變量 、數值變量 、布爾變量、一維數組 、 二位數組、對象變量、對象數組。

7.1.1 文本變量與數據綁定

文本變量 是一種存儲文本數據類型的容器,例如 “你好嗎?”、“今天吃飯了嗎?”、“hello iVX” 這些都是文本內容,我們可以將這些內容存儲到文本變量之中。

我們先在前臺中新增一個 文本變量:

增加完 文本變量 后,為了演示數據綁定,在此新建一個 文本框組件。


在 iVX 中 數據綁定 指某一組件的屬性不指定固定的值,使用其它組件屬性、變量值或公式等進行設定;完成該設定后,當前組件的值將會永遠與綁定的值相等。

每個數據的右側有一個數據綁定的按鈕:

點擊該 按鈕 后將會出現一個箭頭,通過該箭頭可以在對象樹中選擇需要綁定數據的組件:


也可以在 下拉選項 中選擇需要綁定數據的內容:

在此我們為當前文本的內容屬性綁定為變量的值,操作流程如下:

綁定后此時我們點擊該變量,修改變量的內容為 “你好 iVX”:


之后預覽內容,將會發現當前界面顯示的內容為 “你好 iVX”:

7.1.2 數值變量與布爾變量

數值變量 指該變量存儲類型為數字,例如 1、2、3、4、5、6、99、999、3.14 等數據都屬于數字類型,該類型不能存儲字符類型數據,否則該變量的數值將自動歸零:


布爾變量 則是存儲 “真” 與 “假” 類型的變量,不需要具體輸入值,只需要打開真假開關即可。布爾變量打開開關則是為真,關閉開關則是為假,一般用于某些狀態的設定,演示如下:

7.1.3 一維數組

在此小節之上,我們學習的變量都只能存儲一個值,在 iVX 中擁有存儲多個值的變量類型,如 一維數組。一維數組 可以在變量中設置多個值,這個 一維數組變量 可以看做是一個數據集合,這個數據集合可以存儲不同類型的數據:

以上為一個數組的示例,其中黃色區域為數組的數據,紅色區域表示對應黃色區域數據對應的位置,例如 一維數組 中第 “0” 個數據是 “你好”、第 “1” 個數據是 “1” 以此類推;我們可以發現,一維數組中對數據的 “表示” 是從 0 開始的,而非是 1,這點是我們需要注意的。上圖中綠色部分是一個加號,該加號表示點擊后增加一個所選擇類型的數據:

該變量的創建及添加值方式如下:

7.1.4 循環組件

在 iVX 中 循環組件 可以對組件循環生成,若同一個組件擁有重復內容,但只是部分屬性不一致,并且要求使用多個,這時使用 循環組件 是一個很好的選擇。

首先修改 一維數組 的內容如下:

接著我們點擊 循環組件 添加到頁面中,并且添加一個 文本組件 位于 循環組件 之下(組件可以拖拽到某個組件之下作為子對象):


接下來我們需要重復顯示 一維數組 的內容顯示到 文本組件 中,點擊 循環組件 將數據來源綁定為 一維數組 值:

此時我們在 文本組件 中將內容綁定為當前數據:


循環組件 可以對數據來源的數組進行值的自動獲取,循環組件 將會獲取數組中的每一個值,第 1 次自動循環將會獲取第 0 個值、第 2 次循環將會獲取數組中的第 2 個值,以此類推;其中 當前數據 指的是此次循環獲取到數組中的值,由于 循環組件 對 文本組件 進行了循環,就意味著對該 文本組件 進行了重復生成并且賦予了新的文本屬性,那么此時將會使用 文本組件 顯示出所有數據中值的內容:

7.1.5 二維數組與嵌套循環

數組除了 一維數組 外還有 二維數組。一維數組 我們可以當做是一種相同屬性的內容,在之前我們在 一維數組 中存儲的值是名字文本的集合,那么如何在一個數組中就存儲名字、性別、年齡等信息呢?這個時候就需要使用 二維數組 完成這個需求,二維數組 的數組結構更像是一個 Excel 表格,以下展示一個二維數組 內容:


在以上 二維數組 演示中,從列來看名字這一列的內容存儲的是名字信息、性別這一列內容存儲的是性別信息、年齡這一列內容存儲的是年齡信息,若橫排來看則是第 0 行則是小明的性別和年齡信息、第 1 行是小紅的性別和年齡信息;橫排數據完成了一個人物的信息所有信息,以下演示如何創建一個 二維數組 并且創建一個值:

此時已經創建了一個 二維數組,如何顯示這個 二維數組 的值呢?這時需要使用完成循環嵌套對數據進行值的獲取。在使用 循環組件 對數據進行取值時,第 1 次所取到的值為當前 二維數組 的第 0 行值,也就是如下圖示所框選的內容:


此時我們可以當做第 0 行為一個 一維數組,那么這時需要獲取這一行的內容那么則需要再加一個 循環組件 進行獲取,也就是如下的 對象樹 的示例:

此時為第 1 個循環創建組件 “循環創建1” 綁定來源數據為 二維數組,當 “循環創建1” 組件獲取到第 0 行數據時,再將這第 0 行數據綁定給 “循環創建2” 組件進行循環。此時在 “循環創建2” 組件中添加一個 文本組件 作為該組件的子對象:

將該 文本組件 的內容綁定為 “當前數據2” 即可完成數據的顯示,“當前數據2” 指的是第2個 循環組件 所獲取的內容。完整操作流程如下演示:

7.1.6 對象變量

在學習 一維數組 時,我們在這個數組中添加了多個內容,若這些內容較為雜亂,并不是統一的一個屬性值,那么我們此時將不知道該值的作用是什么,此時我們可以使用 對象變量 解決這個問題。

對象變量 與 一維數組 不同,對象變量 允許給值添加 一個標識,例如如下演示:

以下是創建一個 對象變量 的步驟:

用 對象變量 對 文本組件 進行數據綁定,我們可以很方便的根據我們想要的數據進行值的顯示:

操作流程如下:

7.1.7 對象數組

對象數組 內有多個對象變量,與 二維數組 最大的不同則是可以使用標識確定自己想要顯示的內容,一個 對象數組 示例如下:

創建 對象數組 的流程如下:

對象數組 可以使用 循環組件 進行值的顯示:

但此時使用 循環組件 可以很方便的顯示所需的數據,在 文本組件 中選擇數據為 “當前數據1” 后,將會顯示一個具體屬性值進行選擇:

操作流程如下:

7.2 事件邏輯

事件邏輯是整個項目的核心,若沒有事件邏輯這個項目則是一個靜態界面,沒有任何的 “功能”。·我們可以將界面當做一個電飯鍋的外殼,則事件邏輯是其內部的功能。電飯鍋的外觀有一個按鈕,若沒有功能按下了則不會運行任何行為,只有添加了按下按鈕后要處理的事件邏輯,才可以給這個電飯鍋賦予對應的功能。

7.2.1 文件接口與按鈕

文件接口組件 是一個獲取本地文件的功能性組件,我們可以通過 文件接口組件 獲取文件的路徑、寬、高等信息,但該組件需要一個事件進行觸發,在此我們對 按鈕組件 添加點擊后的事件,對 文件接口組件 進行操作。

文件接口組件 位于組件欄的上部:

我們此時為該頁面添加 按鈕組件 與 文件接口組件 后的對象樹如下:

接著我們為 按鈕組件 添加事件。為某組件添加事件只需要點擊該組件后,點擊 對象樹 右側的事件 按鈕組件 即可:

操作流程如下:


該組件添加事件后,將會在組件右側出現一個事件圖標,點擊該圖標可以跳轉到事件的編輯窗口:


此時我們點擊 件編輯框 中觸發事件下拉選項可以看到多個觸發事件,選擇對應的 觸發事件 即可對某個對象進行某個操作(動作):

在 iVX 中事件觸發塊顯示顏色為藍色,而動作塊顯示顏色為深綠色:

此時我們選擇 觸發事件 為“點擊”:


接著選擇操作的對象為 文件接口組件:


最后一步只需要對這個 文件接口組件 設置一個所需要的動作即可。在這里我們的需求是獲取本地圖片,只需要在選擇動作中設置對應操作即可:

設置完畢后,將會出現一個回調事件:

回調 指的是讀取本地圖片后你需要繼續做什么事情,若在 回調 中選擇成功則是指成功讀取到圖片后需要做什么,也可以選擇其他的讀取狀態:

在這里我們需要顯示所選擇的圖片,顯示圖片需要一個 圖片組件,在頁面中創建一個 圖片組件,但并不選擇圖片內容:

隨后在 回調 中使用 圖片組件 進行設置圖片地址操作:

最后在地址中設置值為讀取結果的 base64 圖片即可完成圖片的顯示:

操作步驟及演示如下:

7.2.2 通過按鈕點擊更改文本內容

總體來說事件的操作只需要根據給予的 觸發條件 對某個組件進行所設定范圍內的操作即可,以下通過一個示例加強對事件的理解,具體其他操作將在之后的實戰訓練中再熟練事件的操作即可。

以下演示通過點擊 按鈕組件,將一個 文本組件 的值替換成另一個 文本組件 內容。首先將必要的組件添加至頁面之中,對象樹如下:

此處設置目標文本的文本內容為 “iVX”,之后我們為“按鈕1” 新增事件。選擇 “按鈕1” 后點擊右側的事件選項即可添加事件,在事件中我們將 “按鈕1” 的 觸發事件 設置為點擊:

所需要操作的對象為 “待替換文本”,動作為設置屬性:


隨后設置內容為目標文本內容:


操作流程如下:

7.2.3 頁面跳轉

在 iVX 中使用前臺進行頁面的跳轉,現在創建 2 個頁面如下:

一個頁面為紅色一個頁面為藍色,在頁面1中添加一個按鈕,點擊按鈕將會跳轉到頁面2:


操作流程如下:

7.3 小游戲

在 iVX 中小游戲擁有的特殊組件不多,常用組件有以下幾個:

  • 圓形組件
  • 矩形組件
  • 多邊形組件
  • 物理世界組件
  • 觸發器組件
  • 對象組組件

7.3.1 圓形

在小游戲中使用 圓形組件 可以繪制一個橢圓,操作流程如下:

7.3.2 矩形

在小游戲中使用 矩形組件 可以繪制一個矩形,操作流程如下:

7.3.3 繪制多邊形

在小游戲中使用 多邊形組件 可以繪制一個多邊形,操作流程如下:

7.3.4 觸發器

觸發器組件 在小游戲中時比較重要的組件,通過 觸發器組件 可以自動創建角色,方便操作。

我們選擇前臺,點擊 觸發器組件 添加到前臺:


隨后在 觸發器組件 的屬性中選擇觸發時間間隔與開啟自動播放。自動播放若你需要自動啟動,一定要開啟,否則 觸發器組件 將無法自動生效:


觸發器組件 具體使用方法我們將在實戰中進行講解。

7.3.5 物理世界

物理世界組件 可以模擬現實世界中的物理規則,我們在頁面中添加一個物理世界并在物理世界下添加 矩形組件:

操作流程如下:

此時添加的 矩形組件 還未能有物理屬性,我們需要點擊 矩形組件,在左側組件欄中點擊添加一個 物體組件,讓該組件屬于物體:


操作流程如下:

最后我們通過瀏覽器預覽內容,將會發現該矩形自動掉落:

那如何讓該 矩形組件 反方向進行運動呢?這個時候在該 矩形組件 中再添加一個 運動組件:

隨后點擊 運動組件,設置 運動組件 的運動反向為垂直 90° 向上,并且運動速度為負數即可反方向運動,但是在此一定要注意要開啟自動播放,否則該運動效果將不會生效:

操作流程如下:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/286780.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/286780.shtml
英文地址,請注明出處:http://en.pswp.cn/news/286780.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python assert的作用

一、python assert的作用: 根據Python 官方文檔解釋(https://docs.python.org/3/reference/simple_stmts.html#assert), "Assert statements are a convenient way to insert debugging assertions into a program". 二、一般的用法是: assert…

React-引領未來的用戶界面開發框架-讀書筆記(三)

第8章 DOM操作 多數情況下,React的虛擬DOM足以用來創建你想要的用戶體驗,而根本不需要直接操作底層真實的DOM。然而也有一些例外。最常見的場景包括:需要與一個沒有使用React的第三方類庫進行整合,或者執行一個React沒有原生支持的…

【專升本計算機】甘肅省普通高等學校專升本考試計算機全真模擬試卷(一)

甘肅省普通高等學校專升本考試計算機全真模擬試卷(一) 一、單項選擇題(在每小題給出的四個選項中只有一項是正確的,將正確選項的字母序號填在括號內。每小題1分,共60分。) 1.在Excel中,當單元格中出現#N/A時,表示( )。 A.公式中有Excel不能識別的文本 B.公式或函數…

WPF 基礎控件之 ToggleButton 樣式

其他基礎控件1.Window2.Button3.CheckBox4.ComboBox5.DataGrid 6.DatePicker7.Expander8.GroupBox9.ListBox10.ListView11.Menu12.PasswordBox13.TextBox14.RadioButtonToggleButton 實現下面的效果1)ToggleButton來實現動畫;Border嵌套 Ellipse并設置T…

hdu-5781 ATM Mechine(dp+概率期望)

題目鏈接: ATM Mechine Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem DescriptionAlice is going to take all her savings out of the ATM(Automatic Teller Machine). Alice forget how many deposit she has, …

Android之讓手機能識別當前app為瀏覽器類型的APP

1 、問題 我們設置手機默認瀏覽器的時候,我們一般在“設置”頁面,點擊"默認應用管理“,然后再點擊瀏覽器,發現里面沒有當前的app,但是會有一些QQ瀏覽器(前提手機安裝了)或者其它瀏覽器,我們怎么讓系統能識別自己…

反射調用 java bean的set和get方法

v一、使用java.beans.PropertyDescriptor import java.beans.IntrospectionException; import java.beans.PropertyDescriptor; import java.lang.reflect.Field; import java.lang.reflect.Method;public class PropertyUtil {private static final String SET_PREFIX "…

八、后臺與數據庫(IVX 快速開發教程)

八、后臺與數據庫 在 iVX 中 數據庫 作為數據存儲倉庫,通過 數據庫 可以永久性存儲存儲數據,而 后臺服務 起到數據傳輸作用,將 數據庫 的數據傳輸到前臺頁面之中,頁面再使用這些數據。 文章目錄八、后臺與數據庫8.1.1 數據庫添加…

React-引領未來的用戶界面開發框架-讀書筆記(四)

第10章 動畫 動畫可以讓用戶體驗變得更加流暢自然,而React的TransitionGroup插件配合CSS3可以讓我們在項目中整合動畫效果的變得易如反掌。 通常情況下,瀏覽器中的動畫都擁有一套極其命令式的API,你需要選擇一個元素并主動移動它或者改變它的…

Android Studio開發環境搭建準備

Android Studio 是一個Android開發環境,基于IntelliJ IDEA. 類似 Eclipse ADT,Android Studio 提供了集成的 Android 開發工具用于開發和調試。 Android Studio開發環境搭建前,我們需要進行安裝前的準備工作,本篇以在Windows 7平臺…

管理中眼鏡蛇效應

這個世界的事物經常會很奇怪。當你做了一個出發點很好的決定后,結果未必是向你預期的方向發展,甚至適得其反。作為企業/組織/團隊的管理者,經常會在實際管理中,制定了錯誤的績效激勵辦法,使得整體活動走向與初始激勵目…

九、二手信息站點后臺完成 (IVX 快速開發教程)

九、二手信息站點后臺完成 了解完后臺實現后,我們開始為該二手商品站點完成完成后臺制作。 文章目錄九、二手信息站點后臺完成9.1.1 完成二手信息站點注冊功能9.1.2 完成二手信息站點登錄功能9.1.3 完成商品發布功能9.1.4 首頁信息獲取9.1.5 詳情頁內容9.1.1 完成二…

Android之自定義帶圓角的水紋波效果

1 需求 自定義帶圓角的水溫波效果 2 代碼實現 bg_navigation_ripple.xml <?xml version"1.0" encoding"utf-8"?> <ripple xmlns:android"http://schemas.android.com/apk/res/android"android:color"color/c3"><i…

爬蟲是什么?起什么作用?

【爬蟲】 如果把互聯網比作一張大的蜘蛛網&#xff0c;數據便是放于蜘蛛網的各個節點&#xff0c;而爬蟲就是一只小蜘蛛&#xff0c;沿著網絡抓取自己得獵物&#xff08;數據&#xff09;。這種解釋可能更容易理解&#xff0c;官網的&#xff0c;就是下面這個。 爬蟲是一種自動…

根據實例類型反射操作數據庫(簡單通用表操作類)

這個類適用簡單的表 1.有且只有id為主鍵&#xff0c; 2.并且實例類主鍵&#xff0c;也就是id應為字段&#xff0c;其他為屬性 3.實例類名跟表名一樣&#xff0c;字段屬性跟列名一樣 public class ProType{public int id;public string type{get;set;}public int array{get;set;…

React-引領未來的用戶界面開發框架-讀書筆記(五)

第11章 性能優化 Reactde Dom diff算法使我們能夠在任意時間點高效地重新繪制整個用戶界面&#xff0c;并保證最小程度的DOM改變&#xff0c;然而&#xff0c;也存在需要對組件進行細致優化的情況&#xff0c;這時就需要渲染一個新的DOM來讓應用運行得更加高效。 shouldCompone…

oneproxy檢測主從復制同步延遲

Q:為什么要實現讀寫分離延遲檢測&#xff1f; A:就好比你在ATM機存錢&#xff0c;你老婆收到短信后樂呵呵的拿網銀APP查看&#xff0c;結果錢沒過來。其實錢已經到賬了&#xff0c;只是查詢的ATM機節點錢還沒過來。所以我們dba要監控數據&#xff0c;一旦發現錢沒有復制到另一A…

.NET 分表分庫動態化處理

介紹本期主角:ShardingCore 一款ef-core下高性能、輕量級針對分表分庫讀寫分離的解決方案&#xff0c;具有零依賴、零學習成本、零業務代碼入侵我不是efcore怎么辦這邊肯定有小伙伴要問有沒有不是efcore的,我這邊很確信的和你講有并且適應所有的ADO.NET包括sqlhelperShardingCo…