|
本帖最后由 zorsite 于 2022-11-29 15:42 编辑
, y! m# J" h, L% u5 j( f% P, [: Z. {4 R# W
如何获取Activity的统计信息?9 G/ y9 v/ y- |. I5 z8 j
3D实体的属性面板中可以查看统计信息。
1 O( d4 \7 x9 i" b( U9 |3 D' l
$ |' d: w$ n+ [同时可以通过Object.stats属性来获取相关信息。$ {, v8 v% R+ X/ ]/ p" I
6 }1 k8 ?4 i3 d9 j$ jActivity也有属性面板# h0 Y2 z' ^3 t9 L" {
. u: ]9 M+ d4 q: M& W7 |
但是Activity却没有stats属性,无法通过属性获取统计信息。0 G8 G, W' D7 t! w( p
7 [* u+ z1 i0 g/ |
原因在于当我们使用current关键字的时候,current被声明为Object对象,而activity被声明为treenode对象。! |2 a! p5 a8 a! ]$ p0 }
treenode作为Object的父类,其属性和方法不如其子类Object那样丰富。
& S% V% D1 m4 p& w' X# `) V' q
2 K" G' |* S, U0 x' F7 Z* v2 U作为treenode的子类,Object对象除了有treenode的属性外,还具有以下属性:
+ M1 E% h$ l6 S6 H, V3 l
3 |6 |7 k$ x( Y! Y其中就有stats属性,可以获取统计信息。" i# K u0 a* X6 t9 H
( f4 b; O9 `# P8 p那如何使用代码获取Activity的统计信息呢?* y: H3 A+ [4 b
第1种方法,使用getstat命令。; g& h4 Y1 m) {
getstat (node object, str name, int flag [, var p1, var p2, var p3])
3 S1 e% {# z- O I5 n" rReturns the statistic value for the given objectDescription4 A' e2 @, J7 S+ R& S; @
It is preferred to use Object.stats instead. Gets the specified statistic from the given object.- r5 [( ? C) p
Example:
1 Z4 v8 {$ X4 ?2 E8 \- getstat(activity, "Content", STAT_CURRENT)
复制代码- getstat(activity, "Input", STAT_CURRENT)
复制代码- getstat(activity, "Staytime", STAT_AVERAGE)
复制代码- double avgContent = getstat(4 x7 q7 ~: O! G6 } F
- // getstat requires between 4 and 6 parameters:' \6 r- U2 [" T' u r' B
- activity, // 1. the object (shared asset or activity) that has the statistic
4 ~/ m, h% u( y# d - "Content", // 2. the name of the statistic" _8 n F Q* w, B; e8 i& d- o
- STAT_AVERAGE, // 3. the desired value from the statistic (could also be STAT_CURRENT, STAT_MIN, or STAT_MAX)
2 Y9 M* C6 A7 I4 A/ D - // 4. an optional parameter the instance object (usually current)
! x' i+ k5 D' { - // 5. an additional parameter to help resolve which data to get
9 e$ y9 p- I' Z - // 6. an additional parameter to help resolve which data to get8 A, Y2 @- z- y5 ^+ d4 c4 O0 n3 N
- );
复制代码
: r ]+ ~* ?7 i2 [& E: z第2种方法,转换activity的类型。
7 Y$ \* s2 z# C2 I" E: t& l既然Object对象有stats属性,那把activity从treenode类型转换为Object类型不就可以了?
" w( \5 F" n7 W/ i转换的方式有2种:
" n4 b9 @2 @) P- K+ C6 O0 C方法1,使用as关键字:0 V# l* b9 ~0 H) u' [; |. s
- activity.as(Object).stats.input.value;
2 R3 D$ ]3 O2 R. t% f w% J! @' N
复制代码 : m, e3 u* W& w2 e+ q& ?; e+ {2 B
方法2,将activity声明为Object类型的变量:
9 R; i5 g2 z6 q" k0 G& \- Object Obj_activity=activity;
8 ?2 w) ~7 b4 c% S - return Obj_activity.stats.input.value;
复制代码 - J* K" z% |2 L- _% _4 c6 O
& Y- ~: B W* d. y9 p$ e
+ Y8 H6 R3 o9 }! ?4 U
( i+ V& X9 b8 R$ W
6 ?7 H% m3 B+ u" F8 H
. K! O, D B% \7 c
6 Z( @& {- C+ {$ N8 G9 t z6 {: N3 Q; x
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|