Aframe A帧扩展组件和覆盖

Aframe A帧扩展组件和覆盖,aframe,Aframe,我试图扩展a动画组件,但覆盖了一些功能 我想向父对象“el”添加一个状态属性,并且只有父对象具有该状态,mouseenter事件才会实际触发动画 我希望我不需要重新编写或要求拉取请求来促进此附加功能,因为这会降低我的测试和可用性,但我希望能够使用主代码,并且只使用“添加或覆盖”功能。您可以随时使用JavaScript触发动画 <a-entity id="foo"> <a-animation begin="bar"></a-animation> </a

我试图扩展a动画组件,但覆盖了一些功能

我想向父对象“el”添加一个状态属性,并且只有父对象具有该状态,mouseenter事件才会实际触发动画


我希望我不需要重新编写或要求拉取请求来促进此附加功能,因为这会降低我的测试和可用性,但我希望能够使用主代码,并且只使用“添加或覆盖”功能。

您可以随时使用JavaScript触发动画

<a-entity id="foo">
  <a-animation begin="bar"></a-animation>
</a-entity>

if (whateverCondition) {
  document.querySelector('#foo').emit('bar');
}
):


如果(任何情况下){
document.querySelector('foo').emit('bar');
}

您可以随时使用JavaScript触发动画

<a-entity id="foo">
  <a-animation begin="bar"></a-animation>
</a-entity>

if (whateverCondition) {
  document.querySelector('#foo').emit('bar');
}
):


如果(任何情况下){
document.querySelector('foo').emit('bar');
}

我来这里也是为了寻找同样的答案,“如何扩展组件”。我想为组件编写一些自定义逻辑,所以我将分享我所学到的扩展组件的知识

首先,我建议对组件进行复制,以避免对原始组件造成任何损坏(以防您在其他地方使用它)。我使用的是Angular,所以我有一个很好的实用程序,但是你可以使用任何你喜欢的东西。(看起来A-Frame有一些实用程序可以做到这一点,但没有关于如何使用它们的文档:,)。复制由你决定

无论如何,以下是如何扩展现有组件:

// Get a copy of the original component.
var customLookControls = angular.copy(AFRAME.components['look-controls']),
    customLookControlsComponent = customLookControls.Component;

// Add your custom logic to component.
customLookControlsComponent.prototype.myNewMethod = function() { // Something awesome. };
以下是如何注册的:

最后,这里是您将如何使用它:


我来这里也是为了寻找同样的答案,“如何扩展组件”。我想为组件编写一些自定义逻辑,所以我将分享我所学到的扩展组件的知识

首先,我建议对组件进行复制,以避免对原始组件造成任何损坏(以防您在其他地方使用它)。我使用的是Angular,所以我有一个很好的实用程序,但是你可以使用任何你喜欢的东西。(看起来A-Frame有一些实用程序可以做到这一点,但没有关于如何使用它们的文档:,)。复制由你决定

无论如何,以下是如何扩展现有组件:

// Get a copy of the original component.
var customLookControls = angular.copy(AFRAME.components['look-controls']),
    customLookControlsComponent = customLookControls.Component;

// Add your custom logic to component.
customLookControlsComponent.prototype.myNewMethod = function() { // Something awesome. };
以下是您将如何注册它:

最后,这里是您将如何使用它:


问题是我想让鼠标事件保持在鼠标事件的状态。。。我只想更多地控制事件,要求它处于某种状态。根据上述解决方案,我必须添加一个具有自己事件的动画,并编写自己的事件处理程序代码。我只想在当前a动画代码之前添加一个简单的if语句。只是好奇是否有一种简单的方法来扩展当你的事件有特殊条件时,它应该有一个不同的名称。应该不会有太多的工作。问题是,我想让鼠标事件作为鼠标事件保留。。。我只想更多地控制事件,要求它处于某种状态。根据上述解决方案,我必须添加一个具有自己事件的动画,并编写自己的事件处理程序代码。我只想在当前a动画代码之前添加一个简单的if语句。只是好奇是否有一种简单的方法来扩展当你的事件有特殊条件时,它应该有一个不同的名称。应该不会有太多的工作。我不使用angular,但到目前为止,这是一个更好的答案,所以我会给你一个正确的答案,这样任何其他人都可能能够解决他们的问题。我希望这会有所帮助,这是一个挖掘,但在复制部分之外,这不是必需的,它应该足够了。我不使用angular,但到目前为止,这是一个更好的答案,所以我会给你一个正确的答案,这样其他任何人都可以解决他们的问题。我希望这会有所帮助,这是一个挖掘,但在复制部分之外,这不是必需的,它应该足够了。就我的目的而言,它运行良好:-)
<a-entity custom-look-controls></a-entity>