npm 包 @interface-technologies/expo-pixi 使用教程

阅读时长 9 分钟读完

介绍

@interface-technologies/expo-pixi 是一个 npm 包,它基于 Pixi.js 和 Expo 的 webgl 模块,方便开发者在 Expo 项目中使用 Pixi.js 开发游戏、动画等 webgl 应用。

本篇文章将详细介绍如何使用 @interface-technologies/expo-pixi 来开发 Expo 项目中的 webgl 应用,希望能够给初学者带来一定的学习和指导帮助。

安装

在开始使用之前,我们需要先安装 @interface-technologies/expo-pixi。

示例代码

我们来看一个简单的示例。下面是一个使用 @interface-technologies/expo-pixi 制作简单动画的代码:

-- -------------------- ---- -------
------ ------ ---- ------------------------------------
------ -------- ---- ----------
------ ------------- ---- -------------------
------ ------------ ---- ---------------

----- ------------ - -------------------------------
----- ------------- - --------------------------------
----- ----------- - ----
----- ---------------- - -----

------ ------- ----- --- ------- --------------- -
  ------------------ -
    -------------

    ---------- - -
      ------------ ------
      ---------- ---
    --
  -

  ----- ------------------- -
    ----- -----------------------------------------

    ------------- - -------------------------
      ------ -------------
      ------- --------------
      ---------- ------
      ------------ -----
      ------------ -----
      ----------- -----------------
      ---------------- -------------------
      ---------------------- ------
      ---------------- ---------
    ---

    ----------------------- - --------------
    ---------------------------------------------------- - ------
    ------------------------------------------------- - -----

    ---------- - --- -----------------

    --- ---- - - -- - - ----------------- ---- -
      --- ------ - --- ---------
      ----------------------------
      ----------------------------------
    -

    ----------- - --- ------------------- --------------------------- -- ------
    ---------------------- - -----

    --------------------------- -------
    --------------------------------------------------
  -

  --------- -
    -- ------------------------- -
      -------
    -

    ---------------------- -- ------

    --- ---- - - -- - - ----------------- ---- -
      --- ------ - ------------------------
      ----------------- - ------------------------- - ------------------- - ----- - -- - ---
      ----------------- - ------------------------- - ------------------- - ----- - -- - ---
      ----------------- - ------------------------- - ------------------- - ----- - -- - -- - ----

      --- --------- - -------------------------------------
      ---------------------------- - ----------- - ---
    -

    ---------------------------------
  -

  -------- -
    ------ -
      -------
        -------- -- -
          -------------- - ----
        --
        -------- ----- - --
      --
    --
  -
-

----- ------ ------- --------- -
  ------------- -
    --- ------ - ------------- - -- - ---
    --- -------- - ---
    --- -------- - --- ------------------------------ -----------
    --- -------- - --- --------------------------- --------- ----------
    --------------- ----------

    --------------------- - --- ------------- -- ---
  -
-

----- ------ ------- ------------- -
  ---------------- ------------ ----- ---- -
    --------

    -------- - ----
    ---------------- - ------------
    --------- - -----
    -------- - ----

    --------------------- - --- --------------
    -----------------------------------
  -

  ----------------------------- -
    ---------------------------------
    ------------------------------------------- ----------------- ---------- ----------
  -

  ----------------- -
    --- --- - -------------------------------------
    ------------------------------------
    ------ ----------------------------
  -
-

这段代码演示了如何在 Expo 项目中使用 @interface-technologies/expo-pixi 制作基于三维模型的动画效果。我们会在后面的教程中详细介绍如何编写这段代码。

教程

创建 renderer 和 stage

首先,在 Expo 项目中需要使用 GLView 来创建 webgl 的场景,而在 @interface-technologies/expo-pixi 中使用的是 PIXI.autoDetectRenderer 来创建 renderer。

-- -------------------- ---- -------
------ ------ ---- ------------------------------------
------ -------- ---- ----------

----- -----------------------------------------

------------- - -------------------------
  ------ -------------
  ------- --------------
  ---------- ------
  ------------ -----
  ------------ -----
  ----------- -----------------
  ---------------- -------------------
  ---------------------- ------
  ---------------- ---------
---

----------------------- - --------------

这个时候我们已经创建了 renderer,下一步需要创建一个 stage,这个 stage 用于存放我们之后要呈现的所有 sprite 和 container。

3D 相机

接下来,我们需要创建一个 3D 相机。Pixi.js 中的相机实质上是一个平移矩阵和旋转矩阵的组合,在计算场景中各种元素的位置时,会根据相机的位置、角度和缩放情况生成一个新的变换矩阵,从而实现 3D 效果。

-- -------------------- ---- -------
----- ------ ------- ------------- -
  ---------------- ------------ ----- ---- -
    --------

    -------- - ----
    ---------------- - ------------
    --------- - -----
    -------- - ----

    --------------------- - --- --------------
    -----------------------------------
  -

  ----------------------------- -

- ------------------------------------------------------------------------------ --------
------------------------------------------------------------------------------------------------------------------------
纠错
反馈