diff --git a/language/zh/global.json b/language/zh/global.json index 77c34807e..670998a70 100644 --- a/language/zh/global.json +++ b/language/zh/global.json @@ -104,6 +104,7 @@ "Bit rate is measured in Kilobits-per-sec(kbps or k) and is the number of bits encoded per second or the number of bits transmitted or received per second. The higher the bit rate and sampling rate, the higher the audio quality but the more processing power and bandwidth it needs. Lower bit rates create a smaller file size and use less processing and bandwidth, but with a drop in audio quality. For good quality music usually a bit rate of 64–128kbps (96kbps+ recommended) is preferred.":"比特率以每秒千位数(kbps或k)为单位,是每秒编码的位数或每秒发送或接收的位数。比特率和采样率越高,音频质量越高,但所需的处理能力和带宽也就越高。较低的比特率可创建较小的文件大小,并使用较少的处理和带宽,但会降低音频质量。为了获得高质量的音乐,通常首选64–128kbps(建议96kbps +)的比特率。", "Bitwise Operators":"位运算和二进制", "Blend factor (Red, Green, Blue, Alpha)":"混合因子(红色、绿色、蓝色、透明度)", + "Blue Lowest Bit":"蓝色最低位", "Bones":"骨骼", "Bookmarks":"书签", "Bool":"布尔值(Bool)", @@ -147,6 +148,7 @@ "Constant":"常量", "Constants":"常量", "Content":"内容", + "Corner ID":"角ID", "Create Event":"创建事件", "Create a Multiplayer Game":"创建一个多人游戏", "Creating A Marketplace Asset":"创建市场资源", @@ -439,6 +441,7 @@ "Player Preferences":"玩家首选项", "Plugin Preferences":"插件首选项", "Pointer":"指针(Pointer)", + "Position":"位置", "Power Saving":"节能", "Preferences & Features":"偏好及功能", "Prefix":"前缀", @@ -452,6 +455,7 @@ "Read Only":"只读", "Real":"实数(Real)", "Recent Windows":"最近窗口", + "Red Lowest Bit":"红色最低位", "Redefine Keys Preferences":"重定义快捷键首选项", "Reference":"参考文献", "Release Notes":"发行说明", @@ -502,6 +506,7 @@ "Sequences":"序列", "Sequences Preferences":"序列首选项", "Setting Up The Git Plugin":"设置 Git 插件", + "Shader Corner ID":"着色器角ID", "Shader Language":"着色器语言", "Shader Uniforms":"着色器 Uniforms 常量", "Shaders":"着色器", diff --git a/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Audio/Audio_Effects/Audio_Effects.json b/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Audio/Audio_Effects/Audio_Effects.json index d8b4021ce..207a0b8f9 100644 --- a/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Audio/Audio_Effects/Audio_Effects.json +++ b/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Audio/Audio_Effects/Audio_Effects.json @@ -35,6 +35,7 @@ "This first creates a new audio effect of type {}{}AudioEffectType.Reverb1{}{}. Its parameters are then set by directly setting the members of the returned {}AudioEffect Struct{}.":"此操作首先创建新的音频效果类型{}{}AudioEffectType.Reverb1{}{}。 然后,通过直接设置返回的{}AudioEffect Struct{}的成员来设置其参数。", "This means that you can apply a delay effect to all sounds that are played on an emitter, and a reverb effect on the main audio bus. Audio that is played on the emitter is processed by the audio bus assigned to it so it will be heard with the delay effect from the emitter bus {}and {}the reverb effect from the main bus. Audio that is played directly on the main bus will {}only{} have the reverb effect applied.":"这意味着您可以将延迟效果应用于在发射器上播放的所有声音,并在主音频总线上应用混响效果。在发射器上播放的音频由分配给它的音频总线处理,因此它将与来自发射器总线的延迟效果和来自主总线的混响效果一起被听到。直接在主总线上播放的音频将{}仅{}应用混响效果。", "To get the audio bus that an emitter is assigned, use {}{}audio_emitter_get_bus{}{}.":"要获得分配发射器的音频总线,请使用{}{}audio_emitter_get_bus{}{}。", + "To get the audio bus that is assigned to an emitter, use {}{}audio_emitter_get_bus{}{}.":"要获取分配给发射器的音频总线,请使用 {}{}audio_emitter_get_bus{}{}。", "When targeting {}HTML5{}, audio buses and effects functionality will be limited in the following situations: ":"当以 {}HTML5{} 为目标时,音频总线和特效功能在以下情况下将受到限制:", "When you make changes to any of the variables of the {}ef_lpf{} struct here, the effect\u0027s parameters will change accordingly on {}bus_1.effects[0]{}, {}bus_1.effects[4]{} and {}bus_2.effects[0]{}.":"当您对此处的 {}ef_lpf{} 结构的任何变量进行更改时,效果的参数将在 {}bus_1.effects[0]{}、{}bus_1.effects[4]{} 和 {}bus_2.effects[0]{} 上相应地更改。", "You can add effects to an {}audio emitter{} by creating a new audio bus using {}{}audio_bus_create{}{} and assigning it to the emitter using {}{}audio_emitter_bus{}{}: ":"通过使用{}audio_bus_create{}创建新的音频总线并使用{}{}audio_emitter_bus{}{}将其分配给发射器,可以向{}音频发射器{}添加效果:", diff --git a/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Audio/Audio_Emitters/audio_emitter_pitch.json b/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Audio/Audio_Emitters/audio_emitter_pitch.json index d2553d42b..7ffad7e60 100644 --- a/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Audio/Audio_Emitters/audio_emitter_pitch.json +++ b/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Audio/Audio_Emitters/audio_emitter_pitch.json @@ -3,6 +3,6 @@ "The index of the emitter to change.":"要更改的发射器的索引。", "The pitch multiplier (default 1).":"间距乘数(默认值为1)。", "This function can be used to change the pitch of all sounds emitted from the given emitter. It is a {}pitch multiplier{}, in that the input value multiplies the current pitch by that amount, so the default value of 1 is no pitch change, while a value of less than 1 will lower the pitch and greater than 1 will raise the pitch. It is best to use small increments for this function as any value under 0 or over 5 may not be audible anyway.":"此函数可用于更改给定发射器发出的所有声音的音调。它是一个{}音调乘数{},因为输入值将当前音调乘以该量,因此默认值1表示没有音调变化,而小于1的值将降低音调,大于1的值将提高音调。此函数最好使用小增量,因为任何小于0或大于5的值都可能听不到。", - "{}{}IMPORTANT{}{} As the pitch argument is a {}pitch multiplier{}, the sound instance\u0027s pitch will be multiplied by the sound asset\u0027s pitch and also by the sound emitter\u0027s pitch in case the sound was played on an emitter using {}audio_play_sound_on{}. The final pitch that will be heard is the original pitch of the sound multiplied by the three pitch multipliers: {} {} final_pitch = original sound pitch * sound asset pitch * emitter pitch * sound instance pitch.{} {} By default the three pitch multipliers are equal to 1 so that the final pitch that is heard is equal to the original sound\u0027s pitch. ":"{}{}IMPORTANT{}{}由于音调参数是{}音高乘数{},如果声音在使用{}audio_play_sound_on{}的发射器上播放,则声音实例的音调将乘以声音资源的音调,以及声音发射器的音调。 最后听到的音调是声音的原始音调乘以三个音调乘数:{}{}final_pitch=原始音高*声音资源音调*发射器音高*声音实例音调。{}{}默认情况下,三个音调乘数等于1,以便听到的最终音调等于原始声音的音调。", + "{}{}IMPORTANT{}{} As the pitch argument is a {}pitch multiplier{}, the sound instance\u0027s pitch will be multiplied by the sound asset\u0027s pitch and also by the sound emitter\u0027s pitch in case the sound was played on an emitter using {}audio_play_sound_on{}. The final pitch that will be heard is the original pitch of the sound multiplied by the three pitch multipliers: {} {} final_pitch = original sound pitch * sound asset pitch * emitter pitch * sound instance pitch.{} {} By default the three pitch multipliers are equal to 1 so that the final pitch that is heard is equal to the original sound\u0027s pitch. ":"{}{}重要{}{} 由于音调参数是{}音高乘数{},如果声音在使用{}audio_play_sound_on{}的发射器上播放,则声音实例的音调将乘以声音资源的音调,以及声音发射器的音调。 最后听到的音调是声音的原始音调乘以三个音调乘数:{}{}final_pitch=原始音高*声音资源音调*发射器音高*声音实例音调。{}{}默认情况下,三个音调乘数等于1,以便听到的最终音调等于原始声音的音调。", "{}{}{}NOTE{}{} {}Sounds already playing on the audio emitter do not have to be restarted in order for the change in pitch to be audible. The change in pitch is {}applied immediately{}.":"{}{}{}注意{}{}{}已经在音频发射器上播放的声音不必重新启动,就可以听到音调的变化。音高的变化{}立即应用{}。" } \ No newline at end of file diff --git a/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Audio/Audio_Groups/audio_group_set_gain.json b/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Audio/Audio_Groups/audio_group_set_gain.json index 56b7971e1..1c50fe3f5 100644 --- a/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Audio/Audio_Groups/audio_group_set_gain.json +++ b/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Audio/Audio_Groups/audio_group_set_gain.json @@ -1,5 +1,5 @@ { - "The above code checks for the \"space\" key and then fades all the audio for \"audiogroup1\" down to 0 over 5 seconds.":"上面的代码检查\"空格\"键,然后在5秒内将\" AudioGroup1 \"的所有音频淡入到0。", + "The above code checks for the \"space\" key and then fades all the audio for \"audiogroup1\" down to 0 over 5 seconds.":"上面的代码检查\"空格\"键,然后在 5 秒内将 \"audiogroup1\" 的所有音频淡入到 0。", "The final value for the group volume.":"组卷的最终值。", "The index of the audio group to set the gain for (as defined in the {}Audio Groups{} window)":"要停止的音频组的索引(在{}音频组{}窗口中定义)", "The index of the audio group to stop (as defined in the {}Audio Groups Window{})":"要停止的音频组的索引(在{}音频组窗口{}中定义)", diff --git a/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Audio/Audio_Synchronisation/audio_sync_group_debug.json b/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Audio/Audio_Synchronisation/audio_sync_group_debug.json index 963b481dd..b35dd2c9b 100644 --- a/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Audio/Audio_Synchronisation/audio_sync_group_debug.json +++ b/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Audio/Audio_Synchronisation/audio_sync_group_debug.json @@ -8,6 +8,6 @@ "The group index to debug, or -1 to switch off the debugging.":"要调试的组索引,或-1关闭调试。", "When you are debugging the audio sync groups, the overlay will show:":"调试音频同步组时,覆盖将显示:", "Which sync group is debugging":"正在调试哪个同步组", - "his function can be used to display debug information about any given sync group (the group index is the value returned when the group was created using the function {}{}audio_create_sync_group(){}{}). You can call the function with a value of -1 to switch off the overlay.":"其函数可用于显示关于任何给定同步组的调试信息(组索引是使用函数{}{}audio_create_sync_group(){}{}创建组时返回的值)。 可以调用值为-1的函数以关闭覆盖。", + "This function can be used to display debug information about any given sync group (the group index is the value returned when the group was created using the function {}{}audio_create_sync_group(){}{}). You can call the function with a value of -1 to switch off the overlay.":"其函数可用于显示关于任何给定同步组的调试信息(组索引是使用函数{}{}audio_create_sync_group(){}{}创建组时返回的值)。 可以调用值为-1的函数以关闭覆盖。", "{}{}NOTE{}{} This functionality is not available for the HTML5 target platform.":"{}{}注意{}{}此函数不适用于HTML5目标平台。" } \ No newline at end of file diff --git a/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Sequences/Sequence_Structs/The_Sequence_Instance_Struct.json b/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Sequences/Sequence_Structs/The_Sequence_Instance_Struct.json index abc9ea26e..721cea608 100644 --- a/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Sequences/Sequence_Structs/The_Sequence_Instance_Struct.json +++ b/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Sequences/Sequence_Structs/The_Sequence_Instance_Struct.json @@ -3,6 +3,7 @@ "Sequence Active Track Struct":"序列活动跟踪结构", "Sequence Direction Constant":"序列方向常数", "Sequence Instance Struct":"序列实例结构", + "The ID of the particle system of this track (particle system tracks).":"此轨迹的粒子系统的ID(粒子系统轨迹)。", "The Sequence Instance Struct":"序列实例结构", "The X origin of the asset for the track (all assets).":"轨迹资源的X原点(所有资源)。", "The Y origin of the asset for the track (all assets).":"轨迹资源的Y原点(所有资源)。", diff --git a/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Sequences/Sequence_Structs/The_Track_Struct.json b/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Sequences/Sequence_Structs/The_Track_Struct.json index 7ce9065aa..0583550d7 100644 --- a/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Sequences/Sequence_Structs/The_Track_Struct.json +++ b/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Sequences/Sequence_Structs/The_Track_Struct.json @@ -27,6 +27,7 @@ "This is a clip mask sprite asset track used for generating the clip mask.":"这是一个用于生成剪辑蒙版的剪辑遮罩子资源轨迹。", "This is a colour data parameter track.":"这是一个颜色数据参数轨道。", "This is a graphics (sprite) asset track.":"这是一个图形(精灵)资源跟踪。", + "This is a particle system track.":"这是粒子系统轨迹。", "This is a real number parameter track.":"这是一个实数参数轨迹。", "This is a sequence asset track.":"这是序列资源跟踪。", "This is a text track.":"这是一个文本轨道。", diff --git a/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Sequences/Sequences.json b/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Sequences/Sequences.json index ac2c2d1ab..1b32230b6 100644 --- a/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Sequences/Sequences.json +++ b/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Sequences/Sequences.json @@ -1,25 +1,34 @@ { "Before using these functions to create or edit sequences, we recommend that you read the detailed descriptions given below for the struct properties. A general overview of how to create a new sequence would be:":"在使用这些函数创建或编辑序列之前,我们建议您阅读下面给出的结构属性的详细说明。如何创建新序列的一般概述如下:", "Before you can add tracks to the sequence object, you need to create them, so you\u0027d now create an array of {}asset{} tracks that have been defined with the function {}{}sequence_track_new(){}{}. Note that in code, there is really no difference between asset tracks and parameter tracks - they are all simply tracks and how they behave will depend on the type of track you create and whether they are assigned as sub-tracks to a top level track or not. So, you would create a track for an asset, and then assign sub-tracks for the different parameters to it and these sub-tracks would act as the {}parameter{} tracks for the asset. The example below creates a single graphics asset track that will be added to the sequence later:":"在将轨迹添加到sequence对象之前,您需要创建它们,因此您现在需要创建一个{}asset{}轨迹的数组,这些轨迹是使用函数{}{}sequence_track_new(){}{}定义的。请注意,在代码中,资源轨迹和参数轨迹之间实际上没有区别-它们都是简单的轨迹,它们的行为方式将取决于您创建的轨迹类型,以及它们是否作为子轨迹分配给顶级轨迹。因此,您可以为资源创建一个轨迹,然后为其分配不同参数的子轨迹,这些子轨迹将充当资源的{}参数{}轨迹。下面的示例创建了一个图形资源轨迹,稍后将添加到序列中:", + "Before you can add tracks to the sequence object, you need to create them, so you\u0027d now create an array of {}asset{} tracks that have been defined with the function {}{}sequence_track_new{}{}. Note that in code, there is really no difference between asset tracks and parameter tracks - they are all simply tracks and how they behave will depend on the type of track you create and whether they are assigned as sub-tracks to a top level track or not. So, you would create a track for an asset, and then assign sub-tracks for the different parameters to it and these sub-tracks would act as the {}parameter{} tracks for the asset. The example below creates a single graphics asset track that will be added to the sequence later:":"在将轨迹添加到序列对象之前,您需要创建它们,因此您现在需要创建一个 {}asset{} 轨迹的数组,这些轨迹是使用函数 {}{}sequence_track_new{}{} 定义的。请注意,在代码中,资源轨迹和参数轨迹之间实际上没有区别-它们都是简单的轨迹,它们的行为方式将取决于您创建的轨迹类型,以及它们是否作为子轨迹分配给顶级轨迹。因此,您可以为资源创建一个轨迹,然后为其分配不同参数的子轨迹,这些子轨迹将充当资源的 {} 参数 {} 轨迹。下面的示例创建了一个图形资源轨迹,稍后将添加到序列中:", "Create the new sequence object using the function {}{}sequence_create(){}{} and store the sequence object index in a variable. This index gives you access to the sequence object struct.":"使用函数{}{}sequence_create(){}{}创建新的序列对象,并将序列对象索引存储在变量中。此索引允许您访问序列对象结构。", + "Create the new sequence object using the function {}{}sequence_create{}{} and store the sequence object index in a variable. This index gives you access to the sequence object struct.":"使用函数 {}{}sequence_create{}{} 创建新的序列对象,并将序列对象索引存储在变量中。此索引允许您访问序列对象结构。", "Each asset track needs to have some data to tell the sequence how it will look, or its position , etc... and this is added in the form of {}keyframes{}. At the top level for an asset track, you can set keyframes for various things (listed in the section on the Track Struct, below), but note that as these are asset track keyframes, they won\u0027t be interpolated and will simply change the value they refer to when the given frame is reached. Each keyframe is a struct that is added to an array, and then this array is assigned to the asset track. To create the keyframe struct we would call the function {}{}sequence_keyframe_new(){}{} and to populate the keyframe with the required data, we would use the function {}{}sequence_keyframedata_new(){}{}:":"每个资源轨道需要一些数据来告诉序列其外观、位置等... 并以{}关键帧{}的形式添加。 在资源跟踪的顶层,您可以为各种对象设置关键帧(在下面的\"跟踪结构\"部分列出),但请注意,由于这些是资源跟踪关键帧,所以它们不会被插值,而只是在达到给定帧时更改它们所引用的值。每个关键帧是添加到数组的结构,然后将该数组分配给资源轨迹。若要创建关键帧结构,我们将调用函数{}{}sequence_keyframe_new(){}{},并使用函数{}{}sequence_keyframedata_new(){}{}:", + "Each asset track needs to have some data to tell the sequence how it will look, or its position , etc... and this is added in the form of {}keyframes{}. At the top level for an asset track, you can set keyframes for various things (listed in the section on the Track Struct, below), but note that as these are asset track keyframes, they won\u0027t be interpolated and will simply change the value they refer to when the given frame is reached. Each keyframe is a struct that is added to an array, and then this array is assigned to the asset track. To create the keyframe struct we would call the function {}{}sequence_keyframe_new{}{} and to populate the keyframe with the required data, we would use the function {}{}sequence_keyframedata_new{}{}:":"每个资源轨道需要一些数据来告诉序列其外观、位置等... 并以{}关键帧{}的形式添加。 在资源跟踪的顶层,您可以为各种对象设置关键帧(在下面的\"跟踪结构\"部分列出),但请注意,由于这些是资源跟踪关键帧,所以它们不会被插值,而只是在达到给定帧时更改它们所引用的值。每个关键帧是添加到数组的结构,然后将该数组分配给资源轨迹。若要创建关键帧结构,我们将调用函数 {}{}sequence_keyframe_new{}{},并使用函数 {}{}sequence_keyframedata_new{}{}:", "Events, Moments and Broadcast Messages":"事件、时刻和广播消息", "Finally, as mentioned above, you have the {}sequence data{}, which is another struct. This struct contains {}all{} the data about the sequence. The tracks it contains, the properties those tracks have, the playback speed and much more. The exact details of this structs contents are outlined below, but basically consists of {}asset track{} structs and {}parameter track{} structs which use {}keyframe data{} to actually perform actions while the sequence plays.":"最后,如上所述,有{}序列数据{},这是另一种结构。此结构包含{}关于序列的所有{}数据。它包含的音轨、这些音轨的属性、播放速度等等。此结构内容的确切细节概述如下,但基本上由{}资源轨道{}结构和{}参数轨道{}结构组成,它们使用{}关键帧数据{}在序列播放时实际执行动作。", "Finally, it is possible to add code to sequences that can be triggered as either an {}event{} a {}moment{} or as a {}broadcast message{}. This is explained fully on the following page:":"最后,可以向序列添加代码,这些序列可以作为{}事件{}时刻{}或作为{}广播消息{}触发。 详见下页:", "Next you have {}sequence objects{} and {}sequence instances{} much like you have general objects and instances. A sequence {}object{} is the base resource as you created it in the {}Asset Browser{} or using the function {}{}sequence_create(){}{}, and the sequence {}instance{} is the \"copy\" of that sequence object that has been placed in a room as an element on a layer. Think of sequence objects as blueprints and sequence instances as the creation from those blueprints. Sequence objects and instances are {}structs{} and - unlike regular objects - a sequence object struct can be edited at runtime, which will affect all further instances of that sequence when you create them as elements (and any editing done to a sequence object will {}not{} be reset by restarting the game or the room using the {}room_restart(){} or {}game_restart(){} functions). The sequence instance struct contains a few parameters to control playback and things (this is explained in more detail below) as well as the {}sequence data{} struct.":"接下来,您有{}序列对象{}和{}序列实例{},就像您有一般对象和实例一样。序列{}对象{}是您在{}资源浏览器{}中或使用函数{}{}sequence_create(){}{}创建时的基本资源,序列{}实例{}是该序列对象的\"副本\",该序列对象作为层上的元素放置在房间中。将序列对象视为蓝图,将序列实例视为这些蓝图的创建。序列对象和实例是{}结构{},与常规对象不同,序列对象结构可以在运行时被编辑,当您将序列对象创建为元素时,这将影响该序列的所有其他实例(对序列对象所做的任何编辑都不会{}通过使用{}room_restart(){}或{}game_restart(){}函数重新启动游戏或房间来重置{})。序列实例结构包含一些参数来控制回放和东西(下面将更详细地说明)以及{}序列数据{}结构。", + "Next you have {}sequence objects{} and {}sequence instances{} much like you have general objects and instances. A sequence {}object{} is the base resource as you created it in {}The Asset Browser{} or using the function {}{}sequence_create{}{}, and the sequence {}instance{} is the \"copy\" of that sequence object that has been placed in a room as an element on a layer. Think of sequence objects as blueprints and sequence instances as the creation from those blueprints. Sequence objects and instances are {}structs{} and - unlike regular objects - a sequence object struct can be edited at runtime, which will affect all further instances of that sequence when you create them as elements (and any editing done to a sequence object will {}not{} be reset by restarting the game or the room using the {}{}room_restart{}{} or {}{}game_restart{}{} functions). The sequence instance struct contains a few parameters to control playback and things (this is explained in more detail below) as well as the {}sequence data{} struct.":"接下来,您有{}序列对象{}和{}序列实例{},就像您有一般对象和实例一样。序列{}对象{}是您在{}资源浏览器{}中或使用函数 {}{}sequence_create{}{} 创建时的基本资源,序列{}实例{}是该序列对象的\"副本\",该序列对象作为层上的元素放置在房间中。将序列对象视为蓝图,将序列实例视为这些蓝图的创建。序列对象和实例是{}结构{},与常规对象不同,序列对象结构可以在运行时被编辑,当您将序列对象创建为元素时,这将影响该序列的所有其他实例(对序列对象所做的任何编辑都{}不会{}通过使用 {}{}room_restart{}{} 或 {}{}game_restart{}{} 函数重新启动游戏或房间来重置)。序列实例结构包含一些参数来控制回放和东西(下面将更详细地说明)以及{}序列数据{}结构。", "Sequence elements are dealt with using the room {}layer functions{}, but for sequence objects, instances and data we have the following functions:":"序列元素使用房间{}层函数{}处理,但对于序列对象、实例和数据,我们具有以下函数:", "Sequences":"序列", "Sequences are usually created in the IDE using the {}Sequence editor{}, but they can also be created and edited using code. However, before looking at the functions available, it\u0027s important to understand the way that sequences are defined in {}GameMaker{} and the different terms that will be used.":"序列通常使用{}序列编辑器{}在IDE中创建,但也可以使用代码创建和编辑序列。然而,在查看可用函数之前,了解{}GameMaker{}中定义序列的方式以及将使用的不同术语是很重要的。", + "Sequences are usually created in the IDE using {}The Sequence Editor{}, but they can also be created and edited using code. However, before looking at the functions available, it\u0027s important to understand the way that sequences are defined in {}GameMaker{} and the different terms that will be used.":"序列通常使用{}序列编辑器{}在IDE中创建,但也可以使用代码创建和编辑序列。然而,在查看可用函数之前,了解{}GameMaker{}中定义序列的方式以及将使用的不同术语是很重要的。", + "Set the sequence object top level values like length, play mode, play speed, etc. For example:":"设置序列对象的顶级值,如长度、播放模式、播放速度等。例如:", "Set the sequence object top level values like length, play mode, play speed, etc... For example:":"设置序列对象的顶级值,如长度、播放模式、播放速度等。例如:", "The above instructions create a very simple sequence object that draws a sprite at the (0, 0) position {}of the sequence{} and then moves it to the bottom-right corner and back in a loop. As mentioned, there are a number of places where you need to access different structs to give or get data about the sequence, and the sections below list all the different properties that these structs contain:":"上面的指令创建一个非常简单的序列对象,该对象在序列{}的(0,0)位置{}绘制一个精灵,然后将其移动到右下角并循环返回。如上所述,需要访问不同结构以给出或获取序列数据的多个位置,以下各节列出了这些结构包含的所有不同属性:", "There is also a {}built-in variable{} associated with instances that can be used to determine of the instance has been used in a sequence or not:":"还有一个与实例关联的{}内建变量{},可用于确定该实例是否在序列中使用:", "To start with, at the top level, you have a {}sequence element{}. This is what you place on a layer in a room, either through the Room Editor or in code using the appropriate {}layer functions{}. The layer element has no real properties other than an element ID value, but this ID is required to use the above mentioned layer functions to change the sequence playback or to access the sequence data.":"首先,在顶层,您有一个{}序列元素{}。 这是您通过\"房间编辑器\"或使用适当的{}层函数{}在代码中放置在房间的图层上的内容。 层元素除了元素ID值之外没有实际属性,但是需要该ID来使用上述层函数来改变序列回放或访问序列数据。", + "To start with, at the top level, you have a {}sequence element{}. This is what you place on a layer in a room, either through {}The Room Editor{} or in code using the appropriate {}layer functions{}. The layer element has no real properties other than an element ID value, but this ID is required to use the above mentioned layer functions to change the sequence playback or to access the sequence data.":"首先,在顶层,您有一个{}序列元素{}。 这是您通过{}房间编辑器{}或使用适当的{}层函数{}在代码中放置在房间的图层上的内容。 层元素除了元素ID值之外没有实际属性,但是需要该ID来使用上述层函数来改变序列回放或访问序列数据。", "We now need to create a parameter track which we\u0027ll assign as a sub-track to the graphics track we just created. This will be done in a similar way as shown above, only now we need to give the track a name that shows its purpose, in this case \"position\" as we\u0027ll be using this track to move the graphics track track over the course of the sequence animation frames:":"我们现在需要创建一个参数轨道,我们将把它作为一个子轨道分配给我们刚刚创建的图形轨道。这将以与上面所示类似的方式完成,只是现在我们需要为轨迹命名,以显示其用途,在本例中为\"位置\",因为我们将使用此轨迹在序列动画帧的过程中移动图形轨迹轨迹:", "With that done, the final thing to do is assign the parameter track as a sub-track to our main graphics asset track that we created at the beginning and then assign these tracks to the sequence which we can then create an instance of in the room:":"完成后,要做的最后一件事是将参数轨迹作为子轨迹分配给我们在开始时创建的主图形资源轨迹,然后将这些轨迹分配给序列,然后我们可以在房间中创建一个实例:", - "{}IMPORTANT!{} If your sequence has any instances in it, these instances shouldn\u0027t change their {}{}image_xscale{}{}  / {}{}image_yscale{}{} / {}{}image_angle{}{} / {}{}x{}{} / {}{}y{}{} variables as they will be overwritten when the sequence updates each step after starting to be played.":"{}重要{}如果您的序列中包含任何实例,这些实例不应更改其{}{}image_xscale{}{}/{}image_yscale{}/{}{}image_angle{}{}/{}{}x{}{}/{}{}y{}{}变量,因为当序列在开始播放后更新每个步骤时,它们将被覆盖。", + "{}IMPORTANT!{} If your sequence has any instances in it, these instances shouldn\u0027t change their {}{}image_xscale{}{}  / {}{}image_yscale{}{} / {}{}image_angle{}{} / {}{}x{}{} / {}{}y{}{} variables as they will be overwritten when the sequence updates each step after starting to be played.":"{}重要{} 如果您的序列中包含任何实例,这些实例不应更改其{}{}image_xscale{}{}/{}image_yscale{}/{}{}image_angle{}{}/{}{}x{}{}/{}{}y{}{}变量,因为当序列在开始播放后更新每个步骤时,它们将被覆盖。", + "{}Sequences{}":"{}序列{}", "{}The Keyframe Data Struct{}":"{}关键帧数据结构{}", "{}The Keyframe Struct{}":"{}关键帧结构{}", "{}The Sequence Instance Struct{}":"{}序列实例结构{}", "{}The Sequence Object Struct{}":"{}序列对象结构{}", - "{}The Track Struct{}":"{}轨迹结构{}" + "{}The Track Struct{}":"{}轨迹结构{}", + "{}{}IMPORTANT{}{} If your sequence has any instances in it, these instances shouldn\u0027t change their {}{}image_xscale{}{} / {}{}image_yscale{}{} / {}{}image_angle{}{} / {}x{} / {}y{} variables as they will be overwritten when the sequence updates each step after starting to be played.":"{}{}重要{}{} 如果您的序列中包含任何实例,这些实例不应更改其{}{}image_xscale{}{}/{}{}image_yscale{}{}/{}{}image_angle{}{}/{}x{}/{}y{}变量,因为当序列在开始播放后更新每个步骤时,它们将被覆盖。" } \ No newline at end of file diff --git a/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Sequences/sequence_instance.json b/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Sequences/sequence_instance.json index 25b708c2d..a6608f289 100644 --- a/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Sequences/sequence_instance.json +++ b/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Sequences/sequence_instance.json @@ -1,5 +1,5 @@ { - "Note that this variable will become {}undefined{} after the controlling Sequence has ended, even if its Sequence Element still exists, and will get the struct again if that Sequence element is {}replayed{}.":"请注意,即使其Sequence Element仍然存在,该变量在控制序列结束后将变为{}undefined{},如果该Sequence元素被{}重放{},该变量将再次获得该结构。", + "Note that this variable will become {}undefined{} after the controlling Sequence has ended, even if its Sequence Element still exists, and will get the struct again if that Sequence element is {}replayed{}.":"请注意,即使其对象元素仍然存在,该变量在控制序列结束后将变为{}undefined{},如果该对象元素被{}重放{},该变量将再次获得该结构。", "The above code checks the {}{}in_sequence{}{} variable, and if it is {}true{} (meaning the instance is being controlled by a sequence) then it will change the speed scale of that Sequence to 2.":"上面的代码检查{}{}in_sequence{}{}变量,如果它为{}真{}(表示实例由序列控制),则它将该序列的速度标度更改为2。", "This is a {}built-in variable{} that is part of the {}instance variables{} created for every object instance in your game. If the instance is being controlled by a sequence, this variable will hold the {}sequence instance struct{} for the Sequence controlling the instance, otherwise it will be {}undefined{}. This is a {}read-only{} variable and cannot be changed.":"这是一个{}内置变量{},它是为游戏中每个对象实例创建的{}实例变量{}的一部分。如果实例受序列控制,该变量将保存控制实例的序列的{}序列实例结构{},否则将{}未定义{}。 这是{}只读{}变量,无法更改。" } \ No newline at end of file diff --git a/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Shaders/shader_enable_corner_id.json b/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Shaders/shader_enable_corner_id.json index 76cc267cb..d1b9f77f5 100644 --- a/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Shaders/shader_enable_corner_id.json +++ b/language/zh/www/GameMaker_Language/GML_Reference/Asset_Management/Shaders/shader_enable_corner_id.json @@ -1,6 +1,12 @@ { "Enable ({}true{}) or disable ({}false{}) this function.":"启用({}true{})或禁用({}false{})此函数。", + "It sets a global state for all shaders being used where, when enabled, the shader \"steals\" 2 bits from the input colour values; one from the lowest bit of the red colour value, and one from the lowest bit of the blue colour value. These values can then be recovered in the shader to work out which vertex you are dealing with (i.e. which corner).":"它为所有正在使用的着色器设置一个全局状态,当启用时,着色器从输入颜色值中\"窃取\"2位;一个来自红色值的最低位,一个来自蓝色值的最低位。然后可以在着色器中恢复这些值,以确定您正在处理的顶点(即哪个角落)。", + "The above code will enable the use of colour bits for the corner ID for all shaders.":"上面的代码将启用所有着色器的角点ID的颜色位。", "The above code will enable the use of colour bits for the corner id for all shaders.":"上面的代码将启用所有着色器的角点ID的颜色位。", - "With this function you can set a global state for all shaders being used where, when enabled, the shader \"steals\" 2 bits from the input colour values. The first is from the lower bit of the red colour value, and the second is from the lower bit of the blue colour value. These values can get then be recovered in the shader to work out which vertex you are dealing with (ie: which corner).":"使用此函数,您可以为所有正在使用的着色器设置全局状态,其中启用时,着色器从输入颜色值中\"窃取\"2位。第一个来自红色值的低位,第二个来自较低位蓝色值的位。然后可以在着色器中恢复这些值,以计算您处理的顶点(即:哪个角)。", - "With this function you can set a global state for all shaders being used where, when enabled, the shader \"steals\" 2 bits from the input colour values. The first is from the lower bit of the red colour value, and the second is from the lower bit of the blue colour value. These values can then be recovered in the shader to work out which vertex you are dealing with (ie: which corner).":"使用此功能,您可以为所有正在使用的着色器设置全局状态,当启用该着色器时,着色器将从输入颜色值\"窃取\"2位。第一个来自红色值的低位,第二个来自蓝色值的低位。然后可以在着色器中恢复这些值,以确定您正在处理的是哪个顶点(即:哪个角)。" + "The following table lists the possible values and their corresponding corner position: ":"下表列出了可能的值及其对应的角点位置:", + "The lowest bit of the {}blue{} component stores the {}most significant bit{}, the lowest bit of the {}red{} component stores the {}least significant bit{}. You can calculate the corner ID in a vertex shader by doing this:":"{}蓝色{}分量的最低位存储{}最高有效位{},{}红色{}分量的最低位存储{}最低有效位{}。您可以通过执行以下操作来计算顶点着色器中的角ID:", + "This function enables the use of corner IDs in shaders.":"此函数允许在着色器中使用角ID。", + "With this function you can set a global state for all shaders being used where, when enabled, the shader \"steals\" 2 bits from the input colour values. The first is from the lower bit of the red colour value, and the second is from the lower bit of the blue colour value. These values can get then be recovered in the shader to work out which vertex you are dealing with (ie: which corner).":"使用此功能,您可以为所有正在使用的着色器设置全局状态,当启用该着色器时,着色器将从输入颜色值\"窃取\"2位。第一个来自红色值的低位,第二个来自蓝色值的低位。然后可以在着色器中恢复这些值,以确定您正在处理的是哪个顶点(即:哪个角)。", + "With this function you can set a global state for all shaders being used where, when enabled, the shader \"steals\" 2 bits from the input colour values. The first is from the lower bit of the red colour value, and the second is from the lower bit of the blue colour value. These values can then be recovered in the shader to work out which vertex you are dealing with (ie: which corner).":"使用此功能,您可以为所有正在使用的着色器设置全局状态,当启用该着色器时,着色器将从输入颜色值\"窃取\"2位。第一个来自红色值的低位,第二个来自蓝色值的低位。然后可以在着色器中恢复这些值,以确定您正在处理的是哪个顶点(即:哪个角)。", + "{}{}NOTE{}{} The corner IDs are numbered consecutively going clockwise, starting at 0 for the top-left corner.":"{}{}注意{}{} 角 ID 按顺时针方向连续编号,左上角从 0 开始编号。" } \ No newline at end of file