|
本帖最后由 zorsite 于 2022-11-29 15:42 编辑
/ \1 C, ]2 G8 I, W! U, ]
: t, u6 U; J4 m7 ~( R如何获取Activity的统计信息?2 f! |! y. R9 T
3D实体的属性面板中可以查看统计信息。
) Q5 z+ g+ b `) ~/ P( @4 Q2 A
3 X* v; u8 {$ d$ ^* X同时可以通过Object.stats属性来获取相关信息。3 Q8 J$ L. i- w- o2 |/ _
5 D0 E; B% q) K. Y6 e2 `. |, p$ z; V
Activity也有属性面板
- `3 K+ r( e( D! l2 }% C7 Q
( t# P8 Y3 ~5 N7 O但是Activity却没有stats属性,无法通过属性获取统计信息。* T$ R, p+ m& l1 h) @$ z; d& @
6 B, j- S9 s3 h" ?
原因在于当我们使用current关键字的时候,current被声明为Object对象,而activity被声明为treenode对象。
% O; k$ w# S8 F6 Jtreenode作为Object的父类,其属性和方法不如其子类Object那样丰富。1 x4 m! D, _1 f0 H O1 F0 S% o6 s1 B
: K* @1 u I9 p( ^4 A* e: F
作为treenode的子类,Object对象除了有treenode的属性外,还具有以下属性:
7 r( P6 @0 \% W) ^3 v
4 V: V9 H4 ^: r$ j其中就有stats属性,可以获取统计信息。! f% K* t6 i9 _/ c$ ~7 @+ `) }6 Z
1 }, g5 S6 k! f) W/ B2 ?
那如何使用代码获取Activity的统计信息呢?
0 g* ?& e+ j x, n# A$ K4 p第1种方法,使用getstat命令。
+ K/ [0 w& D4 x( O7 rgetstat (node object, str name, int flag [, var p1, var p2, var p3])2 C7 {% ~& ?* A/ X7 d; n1 m
Returns the statistic value for the given objectDescription3 ^6 E& q+ G3 K6 O3 s
It is preferred to use Object.stats instead. Gets the specified statistic from the given object.6 v. p u% X, w+ k, U& a2 _& \, J
Example:/ g5 X$ c8 Z9 x4 r
- getstat(activity, "Content", STAT_CURRENT)
复制代码- getstat(activity, "Input", STAT_CURRENT)
复制代码- getstat(activity, "Staytime", STAT_AVERAGE)
复制代码- double avgContent = getstat(
: z$ A w$ {. u( J( P4 @ - // getstat requires between 4 and 6 parameters:) _% s& D _# J0 m
- activity, // 1. the object (shared asset or activity) that has the statistic: `; D$ h) v( ~8 `: [
- "Content", // 2. the name of the statistic
7 x( M5 e0 T+ G" f% [ - STAT_AVERAGE, // 3. the desired value from the statistic (could also be STAT_CURRENT, STAT_MIN, or STAT_MAX); @# }: _% u# X( ]
- // 4. an optional parameter the instance object (usually current)- r; z$ C5 F2 g6 C% r9 S5 m, P
- // 5. an additional parameter to help resolve which data to get
2 m7 O* |) y: E. ~9 l - // 6. an additional parameter to help resolve which data to get0 e. Q( t, L: J+ m
- );
复制代码 1 ^0 l. _; V1 _" r$ F
第2种方法,转换activity的类型。7 a/ ~$ I6 Y" N' s. |/ L% m% K) A
既然Object对象有stats属性,那把activity从treenode类型转换为Object类型不就可以了?5 S4 d" B+ k& K
转换的方式有2种:' ]# a1 H9 E1 ?# v2 O
方法1,使用as关键字:
% c$ @0 x- ]) R* H( P- activity.as(Object).stats.input.value;
* A% F" I6 }- y. r. [" f; H+ p
复制代码
3 U: A7 y; E( I9 f# O方法2,将activity声明为Object类型的变量:
0 |: A+ D7 J3 n0 @/ _2 q- Object Obj_activity=activity;' Z2 z( b7 t# U* g% Z5 m
- return Obj_activity.stats.input.value;
复制代码
# {4 p. o7 ^- P( z0 l# Q0 u! L, G/ `8 a3 {
$ t K3 W8 g S" L! {/ v8 x5 O, {% |- J' |8 U+ M
* b% z! i) d3 P. X6 I
6 L4 q+ m$ M9 E, H% ^1 X
4 F$ N. o: i! }; A3 ^7 k* j2 `
6 [& b; G$ N0 v' J$ y! g |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|