Browse Source

Fixed a rare bug that occurs when adding an animation or texture to the spriteRenderer

Josh Wilson 20 years ago
parent
commit
e83301cdea
1 changed files with 15 additions and 5 deletions
  1. 15 5
      direct/src/tkpanels/ParticlePanel.py

+ 15 - 5
direct/src/tkpanels/ParticlePanel.py

@@ -1813,14 +1813,19 @@ class ParticlePanel(AppShell):
         if ren.addTextureFromFile():
         if ren.addTextureFromFile():
             animId = len([x for x in self.rendererSpriteAnimationWidgetList if x and x.valid])
             animId = len([x for x in self.rendererSpriteAnimationWidgetList if x and x.valid])
             anim = ren.getAnim(animId)
             anim = ren.getAnim(animId)
-        
+
+            frameNum = len([x for x in self.rendererSpriteAnimationWidgetList if x])
+            
             self.rendererSpriteAnimationWidgetList.append(
             self.rendererSpriteAnimationWidgetList.append(
-                self.createSpriteAnimationTextureWidget(parent,anim,`animId`))
+                self.createSpriteAnimationTextureWidget(parent,anim,`frameNum`))
         else:
         else:
             animId = len([x for x in self.rendererSpriteAnimationWidgetList if x and x.valid])
             animId = len([x for x in self.rendererSpriteAnimationWidgetList if x and x.valid])
             anim = SpriteAnim.STTexture
             anim = SpriteAnim.STTexture
+
+            frameNum = len([x for x in self.rendererSpriteAnimationWidgetList if x])
+            
             self.rendererSpriteAnimationWidgetList.append(
             self.rendererSpriteAnimationWidgetList.append(
-                self.createSpriteAnimationTextureWidget(parent,anim,`animId`))
+                self.createSpriteAnimationTextureWidget(parent,anim,`frameNum`))
         parent.pack(fill=BOTH, expand=1)
         parent.pack(fill=BOTH, expand=1)
     def addRendererSpriteAnimationFromNode(self):
     def addRendererSpriteAnimationFromNode(self):
         ren = self.particles.getRenderer()
         ren = self.particles.getRenderer()
@@ -1829,14 +1834,19 @@ class ParticlePanel(AppShell):
         if ren.addTextureFromNode():
         if ren.addTextureFromNode():
             animId = len([x for x in self.rendererSpriteAnimationWidgetList if x and x.valid])
             animId = len([x for x in self.rendererSpriteAnimationWidgetList if x and x.valid])
             anim = ren.getAnim(animId)
             anim = ren.getAnim(animId)
+
+            frameNum = len([x for x in self.rendererSpriteAnimationWidgetList if x])
             
             
             self.rendererSpriteAnimationWidgetList.append(
             self.rendererSpriteAnimationWidgetList.append(
-                self.createSpriteAnimationNodeWidget(parent,anim,`animId`))
+                self.createSpriteAnimationNodeWidget(parent,anim,`frameNum`))
         else:
         else:
             animId = len([x for x in self.rendererSpriteAnimationWidgetList if x and x.valid])
             animId = len([x for x in self.rendererSpriteAnimationWidgetList if x and x.valid])
             anim = SpriteAnim.STFromNode
             anim = SpriteAnim.STFromNode
+
+            frameNum = len([x for x in self.rendererSpriteAnimationWidgetList if x])
+            
             self.rendererSpriteAnimationWidgetList.append(
             self.rendererSpriteAnimationWidgetList.append(
-                self.createSpriteAnimationNodeWidget(parent,anim,`animId`))
+                self.createSpriteAnimationNodeWidget(parent,anim,`frameNum`))
         parent.pack(fill=BOTH, expand=1)
         parent.pack(fill=BOTH, expand=1)
         
         
     def toggleRendererSpriteXScale(self):
     def toggleRendererSpriteXScale(self):