Subclass Langsung yang Dikenal |
Subclass Tidak Langsung yang Diketahui |
Node mewakili transformasi dalam hierarki grafik adegan. Ini dapat berisi render yang dapat dirender oleh mesin rendering.
Setiap node dapat memiliki jumlah node turunan arbitrer dan satu induk. Induk dapat berupa node lain, atau scene.
Class Bertingkat
antarmuka | Node.LifecycleListener | Definisi antarmuka untuk callback yang akan dipanggil saat peristiwa siklus proses node terjadi. | |
antarmuka | Node.OnTapListener | Definisi antarmuka untuk callback yang akan dipanggil saat node diketuk. | |
antarmuka | Node.OnTouchListener | Definisi antarmuka untuk callback yang akan dipanggil saat peristiwa sentuh dikirim ke node ini. | |
antarmuka | Node.TransformChangedListener | Definisi antarmuka untuk callback yang akan dipanggil saat transformasi node berubah. |
Konstruktor Publik
Node()
Membuat node tanpa induk.
|
Metode Publik
void |
addLifecycleListener(Node.LifecycleListener lifecycleListener)
Menambahkan pemroses yang akan dipanggil saat peristiwa siklus proses node terjadi.
|
void |
addTransformChangedListener(Node.TransformChangedListener transformChangedListener)
Menambahkan pemroses yang akan dipanggil saat transformasi node berubah.
|
void |
callOnHierarchy(Konsumen<Node> konsumen)
Melintasi hierarki dan memanggil metode di setiap node (termasuk node ini).
|
Node |
findInHierarchy(Predicate<Node> kondisi)
Melintasi hierarki untuk menemukan node pertama (termasuk node ini) yang memenuhi sebuah kondisi.
|
final Vector3 |
getBack()
Mendapatkan vektor kembali ruang dunia (+z) dari node ini.
|
CollisionShape |
getCollisionShape()
Mendapatkan bentuk yang akan digunakan untuk konflik dengan node ini.
|
final Vector3 |
getDown()
Mendapatkan vektor ruang dunia (-y) dari node ini.
|
final Vector3 |
getForward()
Mendapatkan vektor penerusan ruang dunia (-z) dari node ini.
|
final Vector3 |
getLeft()
Mendapatkan vektor ruang dunia (-x) dari node ini.
|
Terang |
getLight()
Mendapatkan cahaya saat ini yang dapat diubah.
|
final Vector3 |
getLocalPosition()
Mendapatkan salinan posisi node relatif terhadap induknya (ruang lokal).
|
final Quaternion |
getLocalRotation()
Mendapatkan salinan rotasi node yang relatif terhadap induknya (ruang lokal).
|
final Vector3 |
getLocalScale()
Mendapatkan salinan skala node relatif terhadap induknya (ruang lokal).
|
final String |
getName()
Menampilkan nama node.
|
Node final |
getParent()
Menampilkan induk node ini.
|
Dapat dirender |
getRenderable()
Mendapatkan hasil render yang dapat ditampilkan untuk node ini.
|
final Vector3 |
getRight()
Mendapatkan vektor ruang dunia (+x) dari node ini.
|
final Scene |
getScene()
Menampilkan scene tempat node ini menjadi null, jika bukan merupakan bagian dari scene mana pun.
|
final Vector3 |
getUp()
Mendapatkan vektor ruang dunia (+y) dari node ini.
|
final Vector3 |
getWorldPosition()
Mendapatkan salinan posisi ruang dunia node.
|
final Quaternion |
getWorldRotation()
Mendapatkan salinan rotasi ruang dunia node.
|
final Vector3 |
getWorldScale()
Mendapatkan salinan skala ruang dunia node.
|
boolean akhir |
isActive()
Menampilkan true jika node aktif.
|
boolean akhir |
isDescendantOf(ancestor NodeParent)
Memeriksa apakah induk node tertentu adalah ancestor dari node ini secara rekursif.
|
boolean akhir |
isEnabled()
Mendapatkan status diaktifkan dari node ini.
|
boolean |
isTopLevel()
Menampilkan true jika node ini adalah tingkat atas.
|
final Vector3 | |
final Vector3 | |
void |
onActivate()
Menangani kapan node ini menjadi aktif.
|
void |
onDisabled()
Menangani saat node ini menjadi tidak aktif.
|
boolean |
onTouchEvent(HitTestResult hitTestResult, MotionEvent MotionEvent)
Menangani saat node ini disentuh.
|
void | |
void | |
void |
removeLifecycleListener(Node.LifecycleListener lifecycleListener)
Menghapus pemroses yang akan dipanggil saat peristiwa siklus proses node terjadi.
|
void |
removeTransformChangedListener(Node.TransformChangedListener transformChangedListener)
Menghapus pemroses yang akan dipanggil saat transformasi node berubah.
|
void |
setCollisionShape(tabrakan CollisionShape)
Menetapkan bentuk yang digunakan untuk mendeteksi tabrakan untuk
Node ini. |
final void |
setEnabled(boolean diaktifkan)
Menetapkan status node ini yang diaktifkan.
|
void | |
void |
setLocalPosition(posisi Vector3)
Menetapkan posisi node ini relatif terhadap induknya (local-space).
|
void |
setLocalRotation(Rotasi Quaternion)
Menetapkan rotasi node ini relatif terhadap induknya (ruang lokal).
|
void | |
final void | |
final void |
setLookDirection(Vector3 LookDirection, Vector3 upDirection)
Menetapkan arah yang dilihat node di ruang dunia.
|
final void | |
void |
setOnTapListener(Node.OnTapListener onTapListener)
Mendaftarkan callback untuk dipanggil saat node ini diketuk.
|
void |
setOnTouchListener(Node.OnTouchListener onTouchListener)
Mendaftarkan callback untuk dipanggil saat peristiwa sentuh dikirim ke node ini.
|
void | |
void |
setRenderable(Dapat dirender dapat dirender)
Menetapkan
Renderable yang akan ditampilkan untuk node ini. |
void | |
void | |
void | |
String |
toString()
|
final Vector3 | |
final Vector3 |
Metode yang Dilindungi
boolean akhir | |
final void |
onAddChild(Node turunan)
|
final void |
onRemoveChild(turunan Node)
|
Metode Turunan
Konstruktor Publik
publik Node ()
Membuat node tanpa induk.
Metode Publik
publik void addLifecycleListener (Node.LifecycleListener lifecycleListener)
Menambahkan pemroses yang akan dipanggil saat peristiwa siklus proses node terjadi. Pemroses akan dipanggil sesuai urutan penambahannya.
Parameter
lifecycleListener |
---|
publik void addTransformChangedListener (Node.TransformChangedListener transformChangedListener)
Menambahkan pemroses yang akan dipanggil saat transformasi node berubah.
Parameter
transformChangedListener |
---|
publik void callOnHierarchy (Konsumen<Node> konsumen)
Melintasi hierarki dan memanggil metode di setiap node (termasuk node ini). Traversal bersifat kedalaman terlebih dahulu.
Parameter
consumer | metode yang akan dipanggil pada setiap node |
---|
publik Node findInHierarchy (Predicate<Node> condition)
Melintasi hierarki untuk menemukan node pertama (termasuk node ini) yang memenuhi sebuah kondisi. Setelah predikat terpenuhi, traversal akan berhenti. Traversal adalah kedalaman terlebih dahulu.
Parameter
kondisi | predikat mendefinisikan kondisi node yang akan ditelusuri. |
---|
Hasil
- node pertama yang cocok dengan kondisi predikat, jika tidak, null akan ditampilkan
publik final Vector3 getBack ()
Mendapatkan vektor kembali ruang dunia (+z) dari node ini.
Hasil
- vektor baru yang mewakili arah kembali node di ruang dunia
publik CollisionShape getCollisionShape ()
Mendapatkan bentuk yang akan digunakan untuk konflik dengan node ini. Jika bentuknya null dan setRenderable(Renderable)
disetel, getCollisionShape()
akan digunakan untuk
mendeteksi tabrakan untuk Node
ini.
Hasil
- mewakili bentuk geometris, yaitu bola, kotak, lambung cembung.
final publik Vector3 getDown ()
Mendapatkan vektor ruang dunia (-y) dari node ini.
Hasil
- vektor baru yang mewakili arah bawah node di ruang dunia
publik final Vector3 getForward ()
Mendapatkan vektor penerusan ruang dunia (-z) dari node ini.
Hasil
- vektor baru yang mewakili arah maju node di ruang dunia
publik final Vector3 getLeft ()
Mendapatkan vektor ruang dunia (-x) dari node ini.
Hasil
- vektor baru yang mewakili arah kiri node di ruang dunia
publik final Vector3 getLocalPosition ()
Mendapatkan salinan posisi node relatif terhadap induknya (ruang lokal). Jika isTopLevel()
benar, maka ini sama dengan getWorldPosition()
.
Hasil
- vektor baru yang mewakili posisi ruang lokal node
Lihat Juga
public final Quaternion getLocalRotation ()
Mendapatkan salinan rotasi node yang relatif terhadap induknya (ruang lokal). Jika isTopLevel()
benar, maka ini sama dengan getWorldRotation()
.
Hasil
- kuaternion baru yang mewakili rotasi ruang lokal node
Lihat Juga
publik final Vector3 getLocalScale ()
Mendapatkan salinan skala node relatif terhadap induknya (ruang lokal). Jika isTopLevel()
bernilai true, maka ini sama dengan getWorldScale()
.
Hasil
- vektor baru yang mewakili skala ruang lokal node
Lihat Juga
publik final Node getParent ()
publik Renderable getRenderable ()
Mendapatkan hasil render yang dapat ditampilkan untuk node ini.
Hasil
- dapat dirender untuk ditampilkan untuk node ini
publik final Vector3 getRight ()
Mendapatkan vektor ruang dunia (+x) dari node ini.
Hasil
- vektor baru yang mewakili arah kanan node di ruang dunia
publik final Scene getScene ()
Menampilkan scene tempat node ini menjadi null, jika bukan merupakan bagian dari scene mana pun. Node adalah bagian dari scene jika ancestor tingkat tertingginya adalah Scene
publik final Vector3 getUp ()
Mendapatkan vektor ruang dunia (+y) dari node ini.
Hasil
- vektor baru yang mewakili arah atas node di ruang dunia
final publik Vector3 getWorldPosition ()
Mendapatkan salinan posisi ruang dunia node.
Hasil
- vektor baru yang mewakili posisi ruang dunia node
Lihat Juga
publik final Quaternion getWorldRotation ()
Mendapatkan salinan rotasi ruang dunia node.
Hasil
- kuaternion baru yang mewakili rotasi ruang dunia node
Lihat Juga
publik final Vector3 getWorldScale ()
Mendapatkan salinan skala ruang dunia node. Beberapa presisi akan hilang jika node miring.
Hasil
- vektor baru yang mewakili skala ruang dunia node
Lihat Juga
boolean final publik isActive ()
Menampilkan true jika node aktif. Node dianggap aktif jika memenuhi SEMUA kondisi berikut:
- Node adalah bagian dari scene.
- induk node aktif.
- Node diaktifkan.
- Fungsi
onUpdate(FrameTime)
node akan dipanggil setiap frame. getRenderable()
node akan dirender.getCollisionShape()
node akan diperiksa dalam panggilan ke Scene.hitTest.- Fungsi
onTouchEvent(HitTestResult, MotionEvent)
node akan dipanggil saat node disentuh.
Hasil
- status aktif node
Lihat Juga
public final boolean isDescendantOf (NodeParent ancestor)
Memeriksa apakah induk node tertentu adalah ancestor dari node ini secara rekursif.
Parameter
ancestor | induk node untuk diperiksa |
---|
Hasil
- true jika node adalah ancestor dari node ini
boolean final publik isEnabled ()
Mendapatkan status diaktifkan dari node ini. Perlu diketahui bahwa Node mungkin diaktifkan, tetapi masih tidak aktif jika bukan merupakan bagian dari scene atau jika induknya tidak aktif.
Hasil
- status node diaktifkan.
Lihat Juga
boolean publik isTopLevel ()
Menampilkan true jika node ini adalah tingkat atas. Node dianggap sebagai level teratas jika tidak memiliki induk atau jika induk adalah scene.
Hasil
- true jika node adalah tingkat atas
publik final Vector3 localToWorldDirection (Vector3 rute)
Mengonversi arah dari ruang lokal node ini ke ruang dunia. Tidak terpengaruh oleh posisi atau skala node.
Parameter
direction | arah ruang lokal untuk mengonversi |
---|
Hasil
- vektor baru yang mewakili arah di ruang dunia
publik final Vector3 localToWorldPoint (Vektor3 poin)
Mengonversi titik di ruang lokal node ini menjadi ruang dunia.
Parameter
poin | titik di ruang lokal untuk mengonversi |
---|
Hasil
- vektor baru yang mewakili titik di ruang dunia
publik void onActivate ()
Menangani kapan node ini menjadi aktif. Node aktif jika diaktifkan, bagian dari scene, dan induknya aktif.
Ganti untuk melakukan penyiapan yang perlu dilakukan saat node diaktifkan.
Lihat Juga
publik void onDisabled ()
Menangani saat node ini menjadi tidak aktif. Node tidak aktif jika dinonaktifkan, bukan bagian dari scene, atau induknya tidak aktif.
Ganti untuk melakukan penyiapan yang perlu dilakukan saat node dinonaktifkan.
Lihat Juga
boolean publik onTouchEvent (HitTestResult hitTestResult, MotionEvent motionEvent)
Menangani saat node ini disentuh.
Ganti untuk menjalankan logika yang harus terjadi saat node ini disentuh. Cara peristiwa sentuh disebarkan akan mencerminkan cara sentuhan disebarkan ke Android View. Ini hanya dipanggil ketika node aktif.
Saat terjadi peristiwa ACTION_DOWN, hal tersebut merepresentasikan awal gestur. ACTION_UP atau ACTION_CANCEL mewakili saat gestur berakhir. Saat gestur dimulai, hal berikut akan dilakukan:
- Mengirim peristiwa sentuh ke node yang disentuh seperti yang terdeteksi oleh
hitTest(MotionEvent)
. - Jika node tidak menggunakan peristiwa tersebut, mengulanginya ke atas melalui induk node dan mengirim peristiwa sentuh hingga salah satu node menggunakan peristiwa.
- Jika tidak ada node yang menggunakan peristiwa tersebut, gestur akan diabaikan dan peristiwa berikutnya yang merupakan bagian dari gestur tidak akan diteruskan ke node mana pun.
- Jika salah satu node menggunakan peristiwa tersebut, node tersebut akan menggunakan semua peristiwa sentuh berikutnya untuk gestur tersebut.
Node.OnTouchListener
node terlebih dahulu. Jika Node.OnTouchListener
tidak menangani peristiwa, peristiwa tersebut akan diteruskan ke onTouchEvent(HitTestResult, MotionEvent)
.Parameter
hitTestResult | Menyatakan node yang disentuh, dan informasi tentang tempat sentuhnya. Pada peristiwa ACTION_DOWN, getNode() akan selalu menjadi node ini atau
salah satu turunannya. Di peristiwa lain, sentuhan mungkin telah bergerak sehingga getNode() berubah (atau mungkin null). |
---|---|
gerakan | Peristiwa gerakan. |
Hasil
- True jika peristiwa ditangani, false jika tidak.
publik void onTransformChange (Node originNode)
Menangani saat transformasi node ini diubah.
Node asal adalah node paling atas pada hierarki yang memicu node ini untuk berubah. Ini akan selalu berupa node yang sama atau salah satu dari induknya. Misalnya, jika posisi node A
diubah, maka hal tersebut akan memicu onTransformChange(Node)
untuk dipanggil untuk
semua turunannya dengan node node yang awal menjadi node A.
Parameter
asalNode | node yang memicu transformasi node ini untuk berubah |
---|
publik void onUpdate (FrameTime frameTime)
Menangani kapan node ini diupdate. Node diperbarui sebelum merender setiap frame. Ini hanya dipanggil ketika node aktif.
Ganti untuk menjalankan update yang perlu terjadi pada setiap frame.
Parameter
WaktuBingkai | memberikan informasi waktu untuk frame saat ini |
---|
publik void removeLifecycleListener (Node.LifecycleListener lifecycleListener)
Menghapus pemroses yang akan dipanggil saat peristiwa siklus proses node terjadi.
Parameter
lifecycleListener |
---|
publik void removeTransformChangedListener (Node.TransformChangedListener transformChangedListener)
Menghapus pemroses yang akan dipanggil saat transformasi node berubah.
Parameter
transformChangedListener |
---|
public void setCollisionShape (CollisionShape collisionShape)
Menetapkan bentuk yang digunakan untuk mendeteksi tabrakan untuk Node
ini. Jika bentuk tidak disetel dan
setRenderable(Renderable)
ditetapkan, getCollisionShape()
akan digunakan untuk mendeteksi tabrakan untuk Node
ini.
Parameter
CollisionShape | mewakili bentuk geometris, yaitu bola, kotak, lambung cembung. Jika null, bentuk tabrakan node saat ini akan dihapus. |
---|
final publik void setEnabled (boolean diaktifkan)
Menetapkan status node ini yang diaktifkan. Perlu diketahui bahwa Node mungkin diaktifkan, tetapi masih tidak aktif jika bukan merupakan bagian dari scene atau jika induknya tidak aktif.
Parameter
diaktifkan | status aktif baru node |
---|
Lihat Juga
publik void setLight (Light light)
Menetapkan Light
untuk ditampilkan. Untuk menggunakannya, buat Light
terlebih dahulu menggunakan Light.Builder
. Tetapkan parameter yang Anda inginkan, lalu lampirkan ke node menggunakan fungsi ini. Node mungkin memiliki file yang dapat dirender dan lampu, atau hanya bertindak sebagai Light
.
Parameter
lampu | Properti Light yang akan dirender, teruskan null untuk menghapus cahaya.
|
---|
publik void setLocalPosition (posisi Vector3)
Menetapkan posisi node ini relatif terhadap induknya (local-space). Jika isTopLevel()
bernilai true, maka ini sama dengan setWorldPosition(Vector3)
.
Parameter
position | Posisi yang akan diterapkan. |
---|
Lihat Juga
publik void setLocalRotation (Rotasi Quaternion)
Menetapkan rotasi node ini relatif terhadap induknya (ruang lokal). Jika isTopLevel()
bernilai true, maka ini sama dengan setWorldRotation(Quaternion)
.
Parameter
rotasi | Rotasi yang akan diterapkan. |
---|
Lihat Juga
publik void setLocalScale (skala Vector3)
Menetapkan skala node ini relatif terhadap induknya (ruang lokal). Jika isTopLevel()
benar, maka ini sama dengan setWorldScale(Vector3)
.
Parameter
scale | Skala yang akan diterapkan. |
---|
Lihat Juga
public final void setLookDirection (Vector3 LookDirection)
Menetapkan arah yang dilihat node di ruang dunia. Setelah memanggil ini, getForward()
akan cocok dengan arah tampilan yang diteruskan. Spasi atas (0, 1, 0) akan digunakan untuk menentukan orientasi node di sekitar arah.
Parameter
LookDirection | vektor yang mewakili arah tampilan yang diinginkan di ruang dunia |
---|
publik final void setLookDirection (Vector3 LookDirection, Vector3 upDirection)
Menetapkan arah yang dilihat node di ruang dunia. Setelah memanggil ini, getForward()
akan cocok dengan arah tampilan yang diteruskan. Arah atas akan menentukan orientasi node di sekitar arah. Arah tampilan dan arah atas tidak boleh
tidak disengaja (paralel) atau orientasi tidak akan valid.
Parameter
LookDirection | vektor yang mewakili arah tampilan yang diinginkan di ruang dunia |
---|---|
UpDirection | vektor yang mewakili vektor naik yang valid untuk digunakan, seperti Vector3.up() |
public final void setName (String name)
Menetapkan nama node ini. Node dapat ditemukan menggunakan namanya. Beberapa node dapat memiliki
nama yang sama, dalam hal ini memanggil findByName(String)
akan menampilkan node
pertama dengan nama yang diberikan.
Parameter
nama | Nama node. |
---|
publik void setOnTapListener (Node.OnTapListener onTapListener)
Mendaftarkan callback untuk dipanggil saat node ini diketuk. Jika ada callback yang terdaftar, peristiwa sentuh tidak akan menampilkan balon ke induk ini. Jika Node.onTouchEvent diganti dan super.onTouchEvent tidak dipanggil, ketuk tidak akan terjadi.
Parameter
onTapListener. |
---|
Lihat Juga
publik void setOnTouchListener (Node.OnTouchListener onTouchListener)
Mendaftarkan callback untuk dipanggil saat peristiwa sentuh dikirim ke node ini. Cara peristiwa sentuh disebarkan akan mencerminkan cara sentuhan disebarkan ke Android View. Ini hanya dipanggil ketika node aktif.
Saat terjadi peristiwa ACTION_DOWN, hal tersebut merepresentasikan awal gestur. ACTION_UP atau ACTION_CANCEL mewakili saat gestur berakhir. Saat gestur dimulai, hal berikut akan dilakukan:
- Mengirim peristiwa sentuh ke node yang disentuh seperti yang terdeteksi oleh
hitTest(MotionEvent)
. - Jika node tidak menggunakan peristiwa tersebut, mengulanginya ke atas melalui induk node dan mengirim peristiwa sentuh hingga salah satu node menggunakan peristiwa.
- Jika tidak ada node yang menggunakan peristiwa tersebut, gestur akan diabaikan dan peristiwa berikutnya yang merupakan bagian dari gestur tidak akan diteruskan ke node mana pun.
- Jika salah satu node menggunakan peristiwa tersebut, node tersebut akan menggunakan semua peristiwa sentuh berikutnya untuk gestur tersebut.
Node.OnTouchListener
node terlebih dahulu. Jika Node.OnTouchListener
tidak menangani peristiwa, peristiwa tersebut akan diteruskan ke onTouchEvent(HitTestResult, MotionEvent)
.Parameter
onTouchListener |
---|
Lihat Juga
publik void setParent (NodeParent parent)
Mengubah node induk untuk node ini. Jika disetel ke null, node ini akan dilepaskan dari induknya. Posisi, rotasi, dan skala lokal node ini akan tetap sama. Oleh karena itu, posisi dunia, rotasi, dan skala node ini mungkin berbeda setelah induknya berubah.
Induknya dapat berupa Node
atau Scene
lainnya. Jika merupakan scene, Node
ini dianggap sebagai level atas. getParent()
akan menampilkan null, dan getScene()
akan menampilkan scene.
Parameter
induk | Induk baru tempat node ini akan menjadi turunannya. Jika null, node ini akan dilepaskan dari induknya. |
---|
Lihat Juga
publik void setRenderable (Dapat dirender dapat dirender)
Menetapkan Renderable
yang akan ditampilkan untuk node ini. Jika setCollisionShape(CollisionShape)
tidak ditetapkan, getCollisionShape()
akan digunakan untuk mendeteksi tabrakan untuk Node
ini.
Parameter
dapat dirender | Biasanya model 3D. Jika null, node yang dapat dirender saat ini akan dihapus. |
---|
Lihat Juga
publik void setWorldPosition (Posisi vektor3)
Menetapkan posisi ruang dunia node ini.
Parameter
position | Posisi yang akan diterapkan. |
---|
Lihat Juga
publik void setWorldRotation ( rotasi Quaternion)
Menetapkan rotasi ruang dunia node ini.
Parameter
rotasi | Rotasi yang akan diterapkan. |
---|
Lihat Juga
publik void setWorldScale (skala Vector3)
Menetapkan skala ruang dunia node ini.
Parameter
scale | Skala yang akan diterapkan. |
---|
Lihat Juga
publik final Vector3 worldToLocalDirection (Vector3 rute)
Mengonversi arah dari ruang dunia ke ruang lokal node ini. Tidak terpengaruh oleh posisi atau skala node.
Parameter
direction | arah konversi ruang dunia |
---|
Hasil
- vektor baru yang mewakili arah di ruang lokal
publik final Vector3 worldToLocalPoint (titik Vektor3)
Mengonversi titik di ruang dunia ke ruang lokal node ini.
Parameter
poin | titik di ruang dunia untuk berkonversi |
---|
Hasil
- vektor baru yang mewakili titik di ruang lokal
Metode yang Dilindungi
dilindungi boolean final canAddChild (Node turunan, StringBuilder failedReason)
Parameter
anak | |
---|---|
kegagalanAlasan |