|
本帖最后由 zorsite 于 2022-11-29 15:42 编辑
! W9 G$ k" A, S8 j6 }7 _9 k& D0 I) A( f N. g2 {# N% a' g
如何获取Activity的统计信息?5 P$ l, V3 o7 I6 e3 T2 r. V
3D实体的属性面板中可以查看统计信息。
7 }9 D' k. T( g" k t% [- e y9 B; v' \: M! U8 B) J G0 x2 E
同时可以通过Object.stats属性来获取相关信息。, v5 k/ L9 W( B
- z, |# ?. ^; A9 i' oActivity也有属性面板
5 Q {7 }: K9 s) R) f
- H; R8 G( s5 |+ n: G但是Activity却没有stats属性,无法通过属性获取统计信息。7 H4 P0 J) y ?( A$ L; T l
+ f o( [. P# e原因在于当我们使用current关键字的时候,current被声明为Object对象,而activity被声明为treenode对象。- y0 y* P. l( R
treenode作为Object的父类,其属性和方法不如其子类Object那样丰富。
: Z; q; Z9 P5 w) n- X: M9 } o0 L
! ~& R* c% _3 a& J" }作为treenode的子类,Object对象除了有treenode的属性外,还具有以下属性:
% U5 ?' K; j3 G" N' e$ B3 J
/ G$ U- a8 @7 L9 a其中就有stats属性,可以获取统计信息。 r9 {' Z8 W( C3 N
/ Z# n! j, q& `0 K, Q1 G
那如何使用代码获取Activity的统计信息呢?
4 i% C3 e# P* l# M. c第1种方法,使用getstat命令。
4 s3 j% V( O9 ]! F# ^6 Rgetstat (node object, str name, int flag [, var p1, var p2, var p3])
( s+ H4 R- _& i( t5 q" AReturns the statistic value for the given objectDescription9 w2 C8 h% Y6 M' B' |- n
It is preferred to use Object.stats instead. Gets the specified statistic from the given object.& J+ s$ U1 M: J5 ~1 _) W! Z
Example:1 K/ T" N# [. N9 U9 s
- getstat(activity, "Content", STAT_CURRENT)
复制代码- getstat(activity, "Input", STAT_CURRENT)
复制代码- getstat(activity, "Staytime", STAT_AVERAGE)
复制代码- double avgContent = getstat(
; O) n* G% O! m/ T - // getstat requires between 4 and 6 parameters:+ X, M8 u- c, L( E# s6 Z t
- activity, // 1. the object (shared asset or activity) that has the statistic4 c* N% N- M8 s& }# X, ^8 V9 P: \- P
- "Content", // 2. the name of the statistic
% o0 W) S D. _6 I - STAT_AVERAGE, // 3. the desired value from the statistic (could also be STAT_CURRENT, STAT_MIN, or STAT_MAX)
7 l9 J( w( @0 T! P! p. t. B - // 4. an optional parameter the instance object (usually current)+ S9 i' {% y" e' G) B+ E* A
- // 5. an additional parameter to help resolve which data to get# Y' k( H+ K. {3 y/ V
- // 6. an additional parameter to help resolve which data to get
, e" S [9 o+ I& g9 s3 J - );
复制代码
/ p i1 p3 I+ l" z4 r& ^第2种方法,转换activity的类型。
$ ?, Z" n) Y3 K' h既然Object对象有stats属性,那把activity从treenode类型转换为Object类型不就可以了?
/ R0 v# u6 h" s$ [) Y) n转换的方式有2种:
" x9 _/ t3 U5 d% s5 I$ O% S( r方法1,使用as关键字:
$ N! Z* B& I% n& u# d% y0 q! [. ]- activity.as(Object).stats.input.value;
9 S0 `# Z' ^% B8 Y4 r2 a F# t
复制代码
i3 } A: O% }7 ?& V! {3 q方法2,将activity声明为Object类型的变量:" U" r7 D0 d2 [/ i( z# v
- Object Obj_activity=activity;& @! O6 w" G5 a9 ?7 W% ~) t
- return Obj_activity.stats.input.value;
复制代码
G4 Z' C+ u8 W. E- Q! C2 X8 u! o0 g1 r! s0 s+ T( N* G1 }9 k
1 l# u- \2 k7 v, k7 S+ G" K# j, ]) f
9 f3 s% L; H5 X' @) F! D8 P0 n( v: d N( P
/ n* K& T0 [ o! X: ~
7 q/ |" [' b9 H2 }9 N
( @* k, I/ k1 `+ z. d# u' p/ { |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|