全球FlexSim系统仿真中文论坛

搜索
查看: 1572|回复: 0
打印 上一主题 下一主题

如何获取Activity的统计信息?

[复制链接]
跳转到指定楼层
1#
zorsite 发表于 2022-11-29 15:17:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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 \
  1. getstat(activity, "Content", STAT_CURRENT)
复制代码
  1. getstat(activity, "Input", STAT_CURRENT)
复制代码
  1. getstat(activity, "Staytime", STAT_AVERAGE)
复制代码
  1. double avgContent = getstat(4 x7 q7 ~: O! G6 }  F
  2. // getstat requires between 4 and 6 parameters:' \6 r- U2 [" T' u  r' B
  3. activity, // 1. the object (shared asset or activity) that has the statistic
    4 ~/ m, h% u( y# d
  4. "Content", // 2. the name of the statistic" _8 n  F  Q* w, B; e8 i& d- o
  5. 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
  6. // 4. an optional parameter the instance object (usually current)
    ! x' i+ k5 D' {
  7. // 5. an additional parameter to help resolve which data to get
    9 e$ y9 p- I' Z
  8. // 6. an additional parameter to help resolve which data to get8 A, Y2 @- z- y5 ^+ d4 c4 O0 n3 N
  9. );
复制代码

: 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
  1. 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& \
  1. Object Obj_activity=activity;
    8 ?2 w) ~7 b4 c% S
  2. 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
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|全球FlexSim系统仿真中文论坛 ( 京ICP备14043114号-2 )

GMT+8, 2025-7-7 07:49 , Processed in 0.071369 second(s), 15 queries .

Powered by Discuz! X3.3© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表