|
本帖最后由 zorsite 于 2022-11-29 15:42 编辑 " X/ d+ h) e: V, u
1 I. w; y5 T/ C( R$ A" i s4 H
如何获取Activity的统计信息?
& l( I, k. M6 U1 O. t- ~, S8 ~5 H3D实体的属性面板中可以查看统计信息。
$ t) f% G0 c5 S3 A, m. t0 C) H
同时可以通过Object.stats属性来获取相关信息。
' W+ i6 O1 _( N4 z9 g
* b5 V T5 C% Y. a* uActivity也有属性面板9 {" Y! U+ c2 }
3 Z' \' B' [, p0 Z但是Activity却没有stats属性,无法通过属性获取统计信息。
& w0 J p8 J7 K' ^' B$ w' N# \. y2 _
* k/ u: V1 g' y. K原因在于当我们使用current关键字的时候,current被声明为Object对象,而activity被声明为treenode对象。: c5 {1 S; V: M/ N3 |
treenode作为Object的父类,其属性和方法不如其子类Object那样丰富。, `. ^! }2 `$ `& K
F2 n( H+ M5 |2 g/ r作为treenode的子类,Object对象除了有treenode的属性外,还具有以下属性: h& t7 g& f! T* d4 A- L) I! [# f$ n
' z/ ~2 ?5 j8 H; U* F其中就有stats属性,可以获取统计信息。( B' k3 b$ W" F) V1 \. j+ ]5 \" e
5 h: v/ \% [3 c+ r3 A6 e4 a! c4 j
那如何使用代码获取Activity的统计信息呢?
) Q- X8 {7 S: a1 ~2 a第1种方法,使用getstat命令。: K- V% q/ T; R2 V
getstat (node object, str name, int flag [, var p1, var p2, var p3])
I) S% G+ a# f$ W5 j' x+ qReturns the statistic value for the given objectDescription
- J, h+ }5 r* \4 h7 v7 w u# KIt is preferred to use Object.stats instead. Gets the specified statistic from the given object.
* L" }4 ?& F2 b1 vExample:1 U1 g5 h6 Q9 x& C9 o1 \
- getstat(activity, "Content", STAT_CURRENT)
复制代码- getstat(activity, "Input", STAT_CURRENT)
复制代码- getstat(activity, "Staytime", STAT_AVERAGE)
复制代码- double avgContent = getstat(+ G [; i/ O) K2 k6 ?
- // getstat requires between 4 and 6 parameters:
, a9 H/ B! \% Q7 A( X8 \! U - activity, // 1. the object (shared asset or activity) that has the statistic2 X/ l8 E1 o- M- l- S: A a3 y u
- "Content", // 2. the name of the statistic
: w8 ^* _+ O3 ~8 v - STAT_AVERAGE, // 3. the desired value from the statistic (could also be STAT_CURRENT, STAT_MIN, or STAT_MAX)* _! k# z$ B4 ?; { S
- // 4. an optional parameter the instance object (usually current)
8 e i: B' r3 U4 d/ s - // 5. an additional parameter to help resolve which data to get0 A$ |( N# G& v8 r ^
- // 6. an additional parameter to help resolve which data to get
1 u, F3 ~2 @& A. A# a - );
复制代码 0 }, }; U+ o8 t: |
第2种方法,转换activity的类型。8 y) X/ b r+ k- V
既然Object对象有stats属性,那把activity从treenode类型转换为Object类型不就可以了?
0 _" L# O6 W( ?2 a; r @* z, c转换的方式有2种:. I8 R7 h9 }* ~0 k' r& Q( D! V; P
方法1,使用as关键字:6 e1 J @5 b5 ~& @5 s
- activity.as(Object).stats.input.value;; d/ }' u1 R0 w( |+ q* ]
复制代码
7 X0 s8 y* r8 e0 ]! y方法2,将activity声明为Object类型的变量:% A' G, E- O, R4 ]! Z9 q& O
- Object Obj_activity=activity;
. L. g; ^* ?& i4 _& J9 p. Y& b, k - return Obj_activity.stats.input.value;
复制代码
5 F8 ?2 f! N i; U$ C& V) N) k Y
3 I9 p6 ^3 T8 Z" [& ^8 X
' y# v( q, Y" ^' p- C |9 v4 u- w* {( U- b6 f$ e
( u) R7 y5 x$ V3 M. Q, Z9 Z
1 i! [ e. _" r- Z& h* ~, X4 w. _! [) L& ]. D7 j
! O; |5 a9 z, s# y
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|