Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
248 views
in Technique[技术] by (71.8m points)

javascript - Increase score by one when clicking on an obj model

I tried a different approach to the game I wrote about in my previous question and I'm no longer getting the error message, but I'm still not sure how to increase the score.

I get this message every time I click on anything: you clicked this H?{uuid: "BE82BBBC-D14B-4BD6-8582-B3080CB2C4D8", name: "", type: "Mesh", parent: qt, children: Array(0),?…} and the message doesn't change whether I'm clicking on an obj model or not.

Here's the HTML code:

 <script src="https://aframe.io/releases/1.0.3/aframe.min.js"></script>
    <script src="https://unpkg.com/aframe-environment-component@1.1.0/dist/aframe-environment-component.min.js
                 "></script>
    <script src = "https://code.jquery.com/jquery-3.4.1.min.js"></script>
    <script src = "game.js"></script>
  </head>
  <body>
    <a-scene start-game cursor="rayOrigin: mouse">
      <a-entity environment ="preset: forest; fog: 0.9;"></a-entity>
        
        <a-obj-model class = "butterfly" src="PUSHILIN_butterfly.obj" mtl="PUSHILIN_butterfly.mtl" scale = "0.025 0.025 0.025" position = "0.2 2 -0.4" animation = "property: position; from: -0.4 1.60 -0.2; to: 0.5 1.59 -0.2; dur:1300; loop:true;" rotation="0 90 0"></a-obj-model>
        <a-obj-model class = "bee" src="CHAHIN_BUMBLEBEE.obj" mtl="CHAHIN_BUMBLEBEE.mtl" scale = "0.07 0.07 0.07" position = "-0.1 1.75 -0.4" animation = "property: position; from: -0.4 1.64 -0.2; to: 0.5 1.67 -0.2; dur:3000; loop:true;"></a-obj-model>
     

     <a-camera>
                <a-cursor shoot material="color: #FFE480;" geometry="primitive: ring"></a-cursor>
      </a-camera>
    </a-scene>
  </body>
</html>

Here's the Javascript code:

var scene;

function start() {
  scene = $('a-scene')[0];
  console.log("The scene is ready", scene);
}

AFRAME.registerComponent("start-game", {
  init: start
});

AFRAME.registerComponent("shoot", {
  schema: { type: "selector", points: {default: 1}},
  init: function(){
  $(this.el).on('click', function(event){
    var aim = event.detail.intersection.point;
    var clickedObj = event.detail.intersection.object;
    console.log("you clicked this", clickedObj);
  });
 }
});

var score = 0;

function scorePlus() {
  score++;
  $('#score').text(score);
  console.log(score);
}

$('.butterfly').click(scorePlus);

function scoreMinus() {
  score--;
  $('#score').text(score);
}

$('.bee').click(scoreMinus);

console.log(score);
document.getElementById("score");


function shoot(){
  $(this.el).on('click', function(event){
    var aim = event.detail.intersection.point;
    var points = event.target.getAttribute('material').points;
    console.log(points);
  });
} 
question from:https://stackoverflow.com/questions/65947441/increase-score-by-one-when-clicking-on-an-obj-model

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...