|
本帖最后由 zorsite 于 2022-11-29 15:42 编辑 . h2 a/ w, d O3 Z0 X K
E1 ~ ], x! {' R" o: e如何获取Activity的统计信息?% e' T% Q7 ^- i) e% [# E" x
3D实体的属性面板中可以查看统计信息。
" B" |1 L% g) I! |
5 _% f8 {0 z# W; {6 O, I同时可以通过Object.stats属性来获取相关信息。, O# v2 ~0 a! R. M
& T v) F+ d+ PActivity也有属性面板
% w, d1 v: e- X. J z& S: v
1 l# D7 ^2 ?5 l4 h) O$ H' Y; r但是Activity却没有stats属性,无法通过属性获取统计信息。
5 ?) P/ P0 f" g R! \+ B" o3 A u+ m5 T' h, R A0 S: D
原因在于当我们使用current关键字的时候,current被声明为Object对象,而activity被声明为treenode对象。
4 k: n; L" h0 Dtreenode作为Object的父类,其属性和方法不如其子类Object那样丰富。
6 _3 n0 y5 B1 g0 A7 `4 R$ j
$ g+ A ^# Y+ E# y3 M! @2 a作为treenode的子类,Object对象除了有treenode的属性外,还具有以下属性:
* t# O/ Z! F/ H' N z2 M! i
3 L/ P3 g; C. Y) N. ?其中就有stats属性,可以获取统计信息。, A! \ S5 ^6 K0 j9 S0 d& ~
6 W I* i# a2 V% D那如何使用代码获取Activity的统计信息呢?2 u! c! v0 _' \3 f" f
第1种方法,使用getstat命令。/ f2 ?6 X- ]. F8 k
getstat (node object, str name, int flag [, var p1, var p2, var p3])
. o1 `6 K) Q) l: iReturns the statistic value for the given objectDescription& S# g+ x* m- b3 k1 V5 {
It is preferred to use Object.stats instead. Gets the specified statistic from the given object.
. M& J7 L j) p; L+ n rExample:- j* o4 U: B" f: n, h
- getstat(activity, "Content", STAT_CURRENT)
复制代码- getstat(activity, "Input", STAT_CURRENT)
复制代码- getstat(activity, "Staytime", STAT_AVERAGE)
复制代码- double avgContent = getstat(
! @: F9 p0 ~( C0 p; m - // getstat requires between 4 and 6 parameters:
. P* j, ?" O3 `$ v0 t$ | - activity, // 1. the object (shared asset or activity) that has the statistic
6 ~3 y& [$ w5 |0 C/ K! `9 C5 s - "Content", // 2. the name of the statistic h+ p' d! t4 c& X' r
- STAT_AVERAGE, // 3. the desired value from the statistic (could also be STAT_CURRENT, STAT_MIN, or STAT_MAX)
F' s! n4 c0 G D - // 4. an optional parameter the instance object (usually current)
0 X4 ]- e, o' `# ^/ c/ c - // 5. an additional parameter to help resolve which data to get
9 [" e0 W7 J& q* l; b, f/ E - // 6. an additional parameter to help resolve which data to get: A. s+ Q+ l0 q- G% W$ H
- );
复制代码 ( W7 c& @% q7 |+ p7 S L
第2种方法,转换activity的类型。
4 B$ N3 G1 @2 ~/ X" D8 W6 c既然Object对象有stats属性,那把activity从treenode类型转换为Object类型不就可以了?4 v/ a: T# e1 {1 k" `' m- m
转换的方式有2种:8 o4 x' y5 {( X. }" ?& @
方法1,使用as关键字:
. q4 D# F) w/ u7 \) u+ n [6 G; M" R" X- activity.as(Object).stats.input.value;
+ N& r$ h+ i, z9 G4 j
复制代码
. ]1 b4 [6 K" Q) F' W' B& V& `% g: U* E方法2,将activity声明为Object类型的变量:
* B( B& d$ w& y1 {2 s. M/ j- Object Obj_activity=activity;
* ~0 G3 n( k, P6 I0 |, a2 @2 Y, K - return Obj_activity.stats.input.value;
复制代码
1 e* P+ l: E) N/ d4 s1 L
[7 t* i/ T: K6 o" u. u1 k
6 a* u) Q* {+ R9 R( z! q
" d3 C+ r: x' J1 h9 b
8 ^% L8 y6 k+ k! [! r+ r1 u+ `$ W1 k: n* F' E$ G: _/ O
- P; V. N% J2 a1 f2 J5 O& Q& ]4 R
J' {# ~# i r; m3 U( \8 [
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|