|
本帖最后由 zorsite 于 2022-11-29 15:42 编辑
" G0 A; u8 X/ C# A+ g/ g/ `% u- I# g) v( j- o E& k Q
如何获取Activity的统计信息? ?9 W' ]# C! o/ i1 V
3D实体的属性面板中可以查看统计信息。
. ~) }+ ]) N( o% {* {
$ @$ }3 n1 X! O& o3 b. [; u8 {同时可以通过Object.stats属性来获取相关信息。- B+ g/ G1 X2 d
6 h! p" v |' \1 | }Activity也有属性面板
% _& T- B& j4 t3 c/ o5 d' R9 e7 d, d$ r) ?
但是Activity却没有stats属性,无法通过属性获取统计信息。
/ [+ L2 j Y& X4 y8 a7 j5 x7 U% ?6 T& s( w! u% y' C) h
原因在于当我们使用current关键字的时候,current被声明为Object对象,而activity被声明为treenode对象。
) {6 J! i* @* H0 T2 Dtreenode作为Object的父类,其属性和方法不如其子类Object那样丰富。3 G7 [' l |5 L' E+ O6 D3 Y
" L' h6 M9 Y% ^3 [! w9 Y1 c( R
作为treenode的子类,Object对象除了有treenode的属性外,还具有以下属性:
% ]' w- p9 C: s9 p# V3 Y3 h( \. i% J) h2 U9 k& L) O3 R0 y. s
其中就有stats属性,可以获取统计信息。
3 s; e! h: b7 K' \5 `4 [" r/ F P" i+ a* x" |. T
那如何使用代码获取Activity的统计信息呢?
4 F4 V: t8 r% Q7 Y第1种方法,使用getstat命令。
( m& C* s9 U) J* C; ]8 v7 a8 ^getstat (node object, str name, int flag [, var p1, var p2, var p3])8 D! O( z" G# R7 t
Returns the statistic value for the given objectDescription, ^& c- S; ^& E: U
It is preferred to use Object.stats instead. Gets the specified statistic from the given object.
( K! l5 I- t6 t$ x& X- O# sExample:7 d& q; b- R1 I( y" e: ^2 C
- getstat(activity, "Content", STAT_CURRENT)
复制代码- getstat(activity, "Input", STAT_CURRENT)
复制代码- getstat(activity, "Staytime", STAT_AVERAGE)
复制代码- double avgContent = getstat(3 j, r6 W2 p, s! @/ z7 b3 k7 _
- // getstat requires between 4 and 6 parameters:
) v" k8 ?( Q2 L( i/ F/ @ - activity, // 1. the object (shared asset or activity) that has the statistic
2 u7 \+ k; H# n" Q5 q! c4 K - "Content", // 2. the name of the statistic* U0 E4 Z2 G" ]- {% U. r
- STAT_AVERAGE, // 3. the desired value from the statistic (could also be STAT_CURRENT, STAT_MIN, or STAT_MAX)
; B0 e; ]5 V+ k( S4 q4 j/ F - // 4. an optional parameter the instance object (usually current)8 S) L& U+ j1 g& U
- // 5. an additional parameter to help resolve which data to get. \, P5 ?4 ?0 f3 E' S$ e- T( Z Q3 U
- // 6. an additional parameter to help resolve which data to get) J5 s z( L$ f1 _% T- _: C5 j: B
- );
复制代码
5 t0 V" ]/ C" q+ f第2种方法,转换activity的类型。
3 L+ z% H5 Q! ?) I既然Object对象有stats属性,那把activity从treenode类型转换为Object类型不就可以了?2 Y+ B9 m; `) ~& E
转换的方式有2种:( C6 {* F7 a4 b
方法1,使用as关键字:
) Q% A' \- G% t' }7 Y- activity.as(Object).stats.input.value;8 c/ Q: [; [4 F/ K* Y
复制代码 9 R2 p2 T1 o6 w0 T! g$ m( C' L
方法2,将activity声明为Object类型的变量:
8 e/ A% y3 C% K4 B! ^" q5 U) `- Object Obj_activity=activity;3 H' R* E. E6 }, _7 {. k+ _
- return Obj_activity.stats.input.value;
复制代码 ) A* A; u u- _9 p- V
, |. L+ H/ {/ C2 R6 [
7 y+ y( v% I7 x; e4 n
! @" x* R( ^1 y9 s9 {; j$ j* [3 C1 [4 J
2 h! Z; o( t G v) X. k, c; \& A* t0 D
9 S& q" t3 p! U+ b& Z( u |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|