首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用aframe-react的编码风格为A-Frame编写脚本

用aframe-react的编码风格为A-Frame编写脚本
EN

Stack Overflow用户
提问于 2018-01-13 03:19:36
回答 1查看 243关注 0票数 1

我发现aframe-react与A-Frame-School coding相比有很大的不同,特别是在脚本方面。我可以创建所有的条目并使用基本组件,但是如果我想改编一些脚本,比如:

代码语言:javascript
复制
    <script>
        AFRAME.registerComponent('score-counter', {
          schema: {
            el: {
              type: 'selector'
            },
            score:{
              type: 'int',
              default: 0
            },
          },

          init: function () {
            var sceneEl = document.querySelector('a-scene'); 
            var scoreBoard = document.querySelector('#score');

            sceneEl.querySelector('a-box').addEventListener('mouseenter', () => {
              this.data.score++;
              var newScore = 'Score: ' + this.data.score
              scoreBoard.setAttribute('text', 'value',  newScore)
            })
          }
        });
        </script>

我有一个有效的a-frame-react代码的例子,但找不到如何适应它:

代码语言:javascript
复制
import React from 'react';
import { Entity } from 'aframe-react';

import WinLine from './win-line'

const SYMBOL_COUNT = 12;

function getRandomInt(min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

class Bonus extends React.Component {
  constructor(props) {
    super(props)

    var symbols = [];
    var house = [];
    for (var s = 0; s < SYMBOL_COUNT; ++s) {
      house.push({ s: getRandomInt(0, 3), x: s * 9, k: "sym-" + s });
    }
    symbols.push(house);

    this.state = {
      symbols: symbols
    };
  }

  bonus() {
    setTimeout(() => this.props.main.typeBonusA(), 6500);
  }

  render() {
    if (this.props.modeI === "in") {
      return (null)
    }
    else if (this.props.clip === "mon") {
      return (

          {this.bonus()}
        </Entity>
      )
    }
    else {
      return (
        <WinLine symbols={this.props.symbols} />
      )
    }
  }
}

export default Bonus 

...etc (代码被裁剪)

在前面的回答中,人们给出了JS代码,但我不知道该把它放在哪里。

有人能告诉我如何将-code“移植”到aframe-react编码风格吗?或者在aframe-react中编写脚本的正确方式,或者建议,任何线索都将被感谢。

EN

回答 1

Stack Overflow用户

发布于 2018-01-16 02:10:31

您可以将registerComponent代码放在它自己的模块中。例如,您可以将代码放在aframe-helper.js

代码语言:javascript
复制
import AFRAME from 'aframe';
AFRAME.registerComponent('score-counter', {...});

然后在应用程序的入口点只需导入模块即可。

代码语言:javascript
复制
import 'aframe-helper'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48232745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档