You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
981 B

  1. cc.SoundSourceNode.ClassName = "SoundSourceNode"
  2. function cc.SoundSourceNode:loadFromXmlNode(xmlNode)
  3. cc.EffectNode.loadFromXmlNode(self , xmlNode);
  4. local source = self:getAudioSource();
  5. source:setGain(xmlNode.Gain);
  6. source:setPitch(xmlNode.Pitch);
  7. source:setVelocity(xmlNode.Velocity);
  8. source:setMinDistance(xmlNode.MinDistance);
  9. source:setMaxDistance(xmlNode.MaxDistance);
  10. source:setRolloffFactor(xmlNode.RolloffFactor);
  11. source:setStreamBuffer(xmlNode.StreamBuffer);
  12. source:setRelative(xmlNode.Relative);
  13. if xmlNode.RandomPlayer then
  14. self:getRandomPlayer():setConfig(xmlNode.RandomPlayer);
  15. end
  16. -- 直接启用声音
  17. source:setAudioFile(xmlNode.AudioFile);
  18. end
  19. function cc.SoundSourceNode:createNode()
  20. local node = cc.SoundSourceNode:create();
  21. return node;
  22. end
  23. function cc.SoundSourceNode:setDefaults()
  24. end
  25. function cc.SoundSourceNode:getSelectBox()
  26. local box = cc.BoundingBox:new(0,0,0,10,10,10);
  27. box:transform(self:getWorldMatrix());
  28. return box;
  29. end