|
本帖最后由 zorsite 于 2022-11-29 15:42 编辑 + T- b( G" ^/ B6 R! a
3 A3 P4 y1 j! W1 B9 w+ p1 r4 `' ?如何获取Activity的统计信息?0 [+ {* |' `0 a. W
3D实体的属性面板中可以查看统计信息。4 }; S& M2 ]" [+ M I6 b3 m
! s. T$ R: n0 B7 F. d同时可以通过Object.stats属性来获取相关信息。
4 T0 \6 R( C$ s, R- Z% i
& E! _3 Y2 l1 }8 g& g" HActivity也有属性面板9 u5 u) O8 Z7 W- L! V: h
6 a( t6 g" V, P3 q
但是Activity却没有stats属性,无法通过属性获取统计信息。7 I4 U# N: y3 R5 `( m) G
# i# R+ v/ H$ r
原因在于当我们使用current关键字的时候,current被声明为Object对象,而activity被声明为treenode对象。" A" R; e6 D3 X5 H0 b6 |8 W
treenode作为Object的父类,其属性和方法不如其子类Object那样丰富。
; D, H4 D5 _4 l+ v% W
) G+ I5 U D5 t: A; t$ b作为treenode的子类,Object对象除了有treenode的属性外,还具有以下属性:
- [* j& U6 Z8 V2 P& z8 N- K9 D8 j- y
; a: j; _1 S7 H& j8 @- T K0 D! ^# F其中就有stats属性,可以获取统计信息。
7 d: }. U+ n- c* g- F+ X S u Z. Q( Z3 C
那如何使用代码获取Activity的统计信息呢?6 B7 G4 b; o6 H
第1种方法,使用getstat命令。
7 |6 M& K( q1 ggetstat (node object, str name, int flag [, var p1, var p2, var p3])
3 r, _1 R! e/ }Returns the statistic value for the given objectDescription* ?, a* s: \, m$ i2 K+ b
It is preferred to use Object.stats instead. Gets the specified statistic from the given object.
% \( o! t; ]. q/ c w& K3 z+ yExample:3 {8 p% t5 Z' [$ d+ ~# j1 a& s! s B
- getstat(activity, "Content", STAT_CURRENT)
复制代码- getstat(activity, "Input", STAT_CURRENT)
复制代码- getstat(activity, "Staytime", STAT_AVERAGE)
复制代码- double avgContent = getstat(
& j) y" x! D" L9 g( L/ L( t - // getstat requires between 4 and 6 parameters:
# A( G: z/ s4 z. r: S - activity, // 1. the object (shared asset or activity) that has the statistic
' d7 r, m+ o9 b' `; K3 \6 m - "Content", // 2. the name of the statistic7 s5 F# Y, |1 k8 q1 C* V5 q/ B
- STAT_AVERAGE, // 3. the desired value from the statistic (could also be STAT_CURRENT, STAT_MIN, or STAT_MAX)) @3 T* l' E* O# _, K
- // 4. an optional parameter the instance object (usually current)
. }7 a; x/ S9 N1 K* ~4 x W4 `8 [ - // 5. an additional parameter to help resolve which data to get
7 b- b( m4 Z0 l8 @. G& }' M; D - // 6. an additional parameter to help resolve which data to get7 `$ y7 {. u4 P& m: L' n+ M( Z
- );
复制代码 , p( s; |/ \! e( i8 n
第2种方法,转换activity的类型。: b5 k" p9 ^! K' W' H; u
既然Object对象有stats属性,那把activity从treenode类型转换为Object类型不就可以了?
% p. x7 g9 f, t ~ e( X转换的方式有2种:
! L+ U7 k I* Q, {. {' n方法1,使用as关键字:
% u5 }0 A) J, a. p. \2 @- w- activity.as(Object).stats.input.value;% q: w8 a5 ]7 Y* n0 [8 E! \- e
复制代码 , H7 E4 }: |. G2 ~' @( t i. B+ [
方法2,将activity声明为Object类型的变量:' R5 i" l/ ^% d( _# ~
- Object Obj_activity=activity;# c- J9 ^/ ?, R6 ^+ C0 \4 r0 U
- return Obj_activity.stats.input.value;
复制代码 : V Q( ]& i8 X" h3 W1 |0 Q
. y% I' _( x7 _. A* p4 Z# H
$ U7 a- Y% T l" s7 R! P+ J R
# i; e- Y( V$ _' K: X
# [, ]6 ]! ~# M8 F% }3 j4 b' i5 E" D! A
- l8 U) t/ b. a& M0 ?7 J9 H2 K( Q% q
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|