这篇条目有关 Source引擎。如需详情,点击这里。

Zh/Math counter: Difference between revisions

From Valve Developer Community
< Zh
Jump to navigation Jump to search
m (Using L template for links)
No edit summary
 
Line 1: Line 1:
<!-- When this page is updated to {{langsp}} or {{langsp}} instead of {{lang}}, please move {{this is a}} to the base page, as it is automatically translated. -->{{lang|Math counter}}{{:User:1416006136/Signature|time=Sep 12 2021}}
{{LanguageBar}}
{{toc-right}}
{{CD|CMathCounter|file1=logicentities.cpp}}
{{this is a|point entity|suf=:zh-cn|name=math_counter|sprite=1}}它存储和操作一个数值。它可以在数值达到用户指定的最大值或最小值时触发输出,或者每次更改数值时输出它的数值。它还具有执行简单数学函数的能力。当 math_counter 被禁用时,它将变为只读,直到重新启用。
{{This is a|point entity|suf=|name=math_counter|sprite=1}}它存储和操作一个数值。它可以在数值达到用户指定的最大值或最小值时触发输出,或者每次更改数值时输出它的数值。它还具有执行简单数学函数的能力。当 math_counter 被禁用时,它将变为只读,直到重新启用。


{{code class:zh-cn|CMathCounter|logicentities.cpp}}


{{clr}}
__TOC__
 
== 另请参阅 ==
* {{L|logic_case}}
* {{L|math_remap}}
* {{L|func_movelinear}}


== 键值 ==
== 键值 ==
{{KV:zh-cn|Initial Value (startvalue)|float|计数器的起始值。}}
{{KV Targetname}}
{{KV:zh-cn|Minimum Legal Value (min)|float|计数器的最小合法(legal)值。如果最小值和最大值都 {{=}} 0,则不执行操作 (原句为“no clamping is performed”)。}}
{{KV|Initial Value (startvalue)|float|计数器的起始值。}}
{{KV:zh-cn|Maximum Legal Value (max)|float|计数器的最大合法值。如果最小值和最大值都 {{=}} 0,则不执行操作。}}
{{KV|Minimum Legal Value (min)|float|计数器的最小合法(legal)值。如果最小值和最大值都 {{=}} 0,则不执行操作 (原句为“no clamping is performed”)。}}
{{KV Targetname:zh-cn}}
{{KV|Maximum Legal Value (max)|float|计数器的最大合法值。如果最小值和最大值都 {{=}} 0,则不执行操作。}}
{{KV EnableDisable:zh-cn}}
{{KV EnableDisable:zh-cn}}


== 输入 ==
== 输入 ==
{{IO:zh-cn|Add|让计数器加上一个数值,并输出和的值和触发<code>OutValue</code>输出。|param=float}}
{{I|Add|让计数器加上一个数值,并输出和的值和触发<code>OutValue</code>输出。|param=float}}
{{IO:zh-cn|Divide|让计数器除以一个数值,并输出商的值和触发<code>OutValue</code>输出。|param=float}}
{{I|Divide|让计数器除以一个数值,并输出商的值和触发<code>OutValue</code>输出。|param=float}}
{{note|如果除以零,计数器将忽略输入。}}
{{note|如果除以零,计数器将忽略输入。}}
{{IO:zh-cn|Multiply|将计数器乘以一个数值,并输出积的值和触发<code>OutValue</code>输出。|param=float}}
{{I|Multiply|将计数器乘以一个数值,并输出积的值和触发<code>OutValue</code>输出。|param=float}}
{{IO:zh-cn|SetValue|将计数器的值设置为新的数值,并输出设置的值和触发<code>OutValue</code>输出。|param=float}}
{{I|SetValue|将计数器的值设置为新的数值,并输出设置的值和触发<code>OutValue</code>输出。|param=float}}
{{IO:zh-cn|SetValueNoFire|将计数器设置为新的数值而不触发任何输出。|param=float}}
{{I|SetValueNoFire|将计数器设置为新的数值而不触发任何输出。|param=float}}
{{IO:zh-cn|Subtract|从计数器中减去一个数量,并输出差的值和触发<code>OutValue</code>输出。|param=float}}
{{I|Subtract|从计数器中减去一个数量,并输出差的值和触发<code>OutValue</code>输出。|param=float}}
{{IO:zh-cn|SetHitMax|设置计数器的 [[#输出|OnHitMax 输出]]触发上限,并输出设置的值和触发<code>OutValue</code>输出。|param=float}}
{{I|SetHitMax|设置计数器的 [[#输出|OnHitMax 输出]]触发上限,并输出设置的值和触发<code>OutValue</code>输出。|param=float}}
{{IO:zh-cn|SetHitMin|设置计数器的[[#输出|OnHitMin 输出]]触发下限,并输出设置的值和触发<code>OutValue</code>输出。|param=float}}
{{I|SetHitMin|设置计数器的[[#输出|OnHitMin 输出]]触发下限,并输出设置的值和触发<code>OutValue</code>输出。|param=float}}
{{IO:zh-cn|GetValue|从一个计数器获取该计数器当前的值并触发<code>OnGetValue</code>输出。当您不希望<code>OutValue</code>输出不断更新时,用于计算计数器的数量。(Used for polling the counter when you don't want constant updates from the<code>OutValue</code>output.)}}
{{I|GetValue|从一个计数器获取该计数器当前的值并触发<code>OnGetValue</code>输出。当您不希望<code>OutValue</code>输出不断更新时,用于计算计数器的数量。(Used for polling the counter when you don't want constant updates from the<code>OutValue</code>output.)}}
{{IO:zh-cn|SetMaxValueNoFire|设置计数器的最大值而不触发任何输出。|param=float|since=P2}}
{{I|SetMaxValueNoFire|设置计数器的最大值而不触发任何输出。|param=float|since={{P2}}}}
{{IO:zh-cn|SetMinValueNoFire|设置计数器的最小值而不触发任何输出。|param=float|since=P2}}
{{I|SetMinValueNoFire|设置计数器的最小值而不触发任何输出。|param=float|since={{P2}}}}
{{I Targetname:zh-cn}}
{{I EnableDisable:zh-cn}}
{{I EnableDisable:zh-cn}}


== 输出 ==
== 输出 ==
{{IO:zh-cn|OutValue|当计数器的值被更改时触发。|param=float}}
{{O|OutValue|当计数器的值被更改时触发。|param=float}}
{{note|此输出会将 {{L|math_counter}} 的数值输出到输出语句的''参数部分(With a paramerter override)''。如果要使用输出的数值,只需将 With a paramerter override 字段保留为 <none>。}}
{{note|此输出会将 {{L|math_counter}} 的数值输出到输出语句的''参数部分(With a paramerter override)''。如果要使用输出的数值,只需将 With a paramerter override 字段保留为 <none>。}}
{{tip|与 {{L|logic_case}} 和 {{L|logic_compare}} 一起使用时更能发挥此输出的功能。}}
{{tip|与 {{L|logic_case}} 和 {{L|logic_compare}} 一起使用时更能发挥此输出的功能。}}
{{IO:zh-cn|OnHitMin|当计数器的值达到或低于设置的最小值时触发。在此输出再次触发之前,计数器的数值必须高于最小值。}}
{{O|OnHitMin|当计数器的值达到或低于设置的最小值时触发。在此输出再次触发之前,计数器的数值必须高于最小值。}}
{{IO:zh-cn|OnHitMax|当计数器的值达到或超过设置的最大值时触发。在此输出再次触发之前,计数器的数值必须低于最大值。}}
{{O|OnHitMax|当计数器的值达到或超过设置的最大值时触发。在此输出再次触发之前,计数器的数值必须低于最大值。}}
{{IO:zh-cn|OnGetValue|响应<code>GetValue</code>输入而触发。当您不希望<code>OutValue</code>输出不断更新时,用于计算计数器的数量。(Used for polling the counter when you don't want constant updates from the<code>OutValue</code>output.)|param=float}}
{{O|OnGetValue|响应<code>GetValue</code>输入而触发。当您不希望<code>OutValue</code>输出不断更新时,用于计算计数器的数量。(Used for polling the counter when you don't want constant updates from the<code>OutValue</code>output.)|param=float}}
{{note|此输出会将 {{L|math_counter}} 的数值输出到输出语句的''参数部分(With a paramerter override)''。如果要使用输出的数值,只需将 ''With a paramerter override 字段''保留为 <none>。}}
{{note|此输出会将 {{L|math_counter}} 的数值输出到输出语句的''参数部分(With a paramerter override)''。如果要使用输出的数值,只需将 ''With a paramerter override 字段''保留为 <none>。}}
{{tip|与 {{L|logic_case}}、{{L|math_remap}} 和 {{L|logic_compare}} 一起使用时更能发挥此输出的功能。}}
{{tip|与 {{L|logic_case}}、{{L|math_remap}} 和 {{L|logic_compare}} 一起使用时更能发挥此输出的功能。}}
{{IO:zh-cn|OnChangedFromMin|当计数器的值从最小值更改时触发。|since=AS}}
{{O|OnChangedFromMin|当计数器的值从最小值更改时触发。|since={{AS}}}}
{{IO:zh-cn|OnChangedFromMax|当计数器的值从最大值更改时触发。|since=AS}}
{{O|OnChangedFromMax|当计数器的值从最大值更改时触发。|since={{AS}}}}
{{O Targetname:zh-cn}}
 
== 另请参阅 ==
* {{L|logic_case}}
* {{L|math_remap}}
* {{L|func_movelinear}}

Latest revision as of 10:07, 24 March 2025

English (en)中文 (zh)Translate (Translate)
C++ 类层级
CMathCounter
CLogicalEntity
CServerOnlyEntity
CBaseEntity
C++ logicentities.cpp
Math counter.png

math_counter是一个点实体(en),可在所有的 起源 起源 游戏中使用。它存储和操作一个数值。它可以在数值达到用户指定的最大值或最小值时触发输出,或者每次更改数值时输出它的数值。它还具有执行简单数学函数的能力。当 math_counter 被禁用时,它将变为只读,直到重新启用。


键值

Name (目标名称) <target_source>[ Edit ]
这个名称是其他实体通过 输入/输出(en) 或其他 关键值(en)(如 parentnametarget) 来引用该实体时使用的标识符。
该名称也会显示在 Hammer 编辑器的 2D 视图和 实体报告(en) 中。
参见:  所有实体均可使用的 通用键值、输入与输出(en)

Initial Value (startvalue) ([todo internal name (i)]) <浮点型(en)>
计数器的起始值。
Minimum Legal Value (min) ([todo internal name (i)]) <浮点型(en)>
计数器的最小合法(legal)值。如果最小值和最大值都 = 0,则不执行操作 (原句为“no clamping is performed”)。
Maximum Legal Value (max) ([todo internal name (i)]) <浮点型(en)>
计数器的最大合法值。如果最小值和最大值都 = 0,则不执行操作。

EnableDisable/启动禁用:

Start Disabled (StartDisabled) <布尔值(en)>
保持休眠状态,直到被唤醒。(利用Enable输入)。

输入

Add <浮点型(en)>
让计数器加上一个数值,并输出和的值和触发OutValue输出。
Divide <浮点型(en)>
让计数器除以一个数值,并输出商的值和触发OutValue输出。
Note.png注意:如果除以零,计数器将忽略输入。
Multiply <浮点型(en)>
将计数器乘以一个数值,并输出积的值和触发OutValue输出。
SetValue <浮点型(en)>
将计数器的值设置为新的数值,并输出设置的值和触发OutValue输出。
SetValueNoFire <浮点型(en)>
将计数器设置为新的数值而不触发任何输出。
Subtract <浮点型(en)>
从计数器中减去一个数量,并输出差的值和触发OutValue输出。
SetHitMax <浮点型(en)>
设置计数器的 OnHitMax 输出触发上限,并输出设置的值和触发OutValue输出。
SetHitMin <浮点型(en)>
设置计数器的OnHitMin 输出触发下限,并输出设置的值和触发OutValue输出。
GetValue
从一个计数器获取该计数器当前的值并触发OnGetValue输出。当您不希望OutValue输出不断更新时,用于计算计数器的数量。(Used for polling the counter when you don't want constant updates from theOutValueoutput.)
SetMaxValueNoFire <浮点型(en)> (存在于自 传送门2 以来)
设置计数器的最大值而不触发任何输出。
SetMinValueNoFire <浮点型(en)> (存在于自 传送门2 以来)
设置计数器的最小值而不触发任何输出。

EnableDisable/启动禁用:

Enable
Disable
启动/禁用此实体所具备的效果。同样会使实体消失。

输出

OutValue <浮点型(en)>
当计数器的值被更改时触发。
Note.png注意:此输出会将 math_counter(en) 的数值输出到输出语句的参数部分(With a paramerter override)。如果要使用输出的数值,只需将 With a paramerter override 字段保留为 <none>。
Tip.png提示:logic_case(en)logic_compare(en) 一起使用时更能发挥此输出的功能。
OnHitMin
当计数器的值达到或低于设置的最小值时触发。在此输出再次触发之前,计数器的数值必须高于最小值。
OnHitMax
当计数器的值达到或超过设置的最大值时触发。在此输出再次触发之前,计数器的数值必须低于最大值。
OnGetValue <浮点型(en)>
响应GetValue输入而触发。当您不希望OutValue输出不断更新时,用于计算计数器的数量。(Used for polling the counter when you don't want constant updates from theOutValueoutput.)
Note.png注意:此输出会将 math_counter(en) 的数值输出到输出语句的参数部分(With a paramerter override)。如果要使用输出的数值,只需将 With a paramerter override 字段保留为 <none>。
Tip.png提示:logic_case(en)math_remap(en)logic_compare(en) 一起使用时更能发挥此输出的功能。
OnChangedFromMin  (存在于自 异形丛生 以来)
当计数器的值从最小值更改时触发。
OnChangedFromMax  (存在于自 异形丛生 以来)
当计数器的值从最大值更改时触发。

另请参阅