浏览代码

Fix AnimatedTexture inconsistency when setting frame

Tecelli Akıntuğ 4 年之前
父节点
当前提交
1ba05b4b3a
共有 2 个文件被更改,包括 2 次插入1 次删除
  1. 1 1
      doc/classes/AnimatedTexture.xml
  2. 1 0
      scene/resources/texture.cpp

+ 1 - 1
doc/classes/AnimatedTexture.xml

@@ -46,7 +46,7 @@
 	</methods>
 	<members>
 		<member name="current_frame" type="int" setter="set_current_frame" getter="get_current_frame">
-			Sets the currently visible frame of the texture.
+			Sets the currently visible frame of the texture. Setting this frame while playing resets the current frame time, so the newly selected frame plays for its whole configured frame duration.
 		</member>
 		<member name="frames" type="int" setter="set_frames" getter="get_frames" default="1">
 			Number of frames to use in the animation. While you can create the frames independently with [method set_frame_texture], you need to set this value for the animation to take new frames into account. The maximum number of frames is [constant MAX_FRAMES].

+ 1 - 0
scene/resources/texture.cpp

@@ -2704,6 +2704,7 @@ void AnimatedTexture::set_current_frame(int p_frame) {
 	RWLockWrite r(rw_lock);
 
 	current_frame = p_frame;
+	time = 0;
 }
 
 int AnimatedTexture::get_current_frame() const {