小编Nis*_*ula的帖子

如何使用平移手势旋转场景中的对象 - SceneKit

我想用Scene套件创建一个应用来解决Rubix Cube.我有自己的dae文件用于多维数据集.这是我在viewDidLoad中的设置代码

    let myscene = SCNScene(named: "Rubik1.scnassets/Rubiks_Cube.dae")
    scene.rootNode.addChildNode((myscene?.rootNode)!)

    // retrieve the SCNView
    let scnView = self.view as! SCNView

    // set the scene to the view
    scnView.scene = scene

    geometryNode = (scnView.scene?.rootNode.childNodeWithName("Cube",recursively: true))!

    let panRecognizer = UIPanGestureRecognizer(target: self, action: "panGesture:")
    scnView.addGestureRecognizer(panRecognizer)
Run Code Online (Sandbox Code Playgroud)

在识别平移手势以旋转立方体时

func panGesture(gestureRecognize: UIPanGestureRecognizer){

    let translation = gestureRecognize.translationInView(gestureRecognize.view!)

    let x = Float(translation.x)
    let y = Float(-translation.y)

    let anglePan = sqrt(pow(x,2)+pow(y,2))*(Float)(M_PI)/180.0

    var rotationVector = SCNVector4()
    rotationVector.x = -y
    rotationVector.y = x
    rotationVector.z = 0
    rotationVector.w = anglePan

    geometryNode.rotation = rotationVector

    //geometryNode.transform …
Run Code Online (Sandbox Code Playgroud)

rotation scenekit swift

6
推荐指数
2
解决办法
4711
查看次数

在Swift-Scene Kit中开始识别触摸立方体的面部

我想用Scene套件创建一个应用来解决Rubix Cube.我有自己的dae文件用于多维数据集.接触开始后,我有被击中的物体

  func tapGesture(sender: UITapGestureRecognizer){

    // check what nodes are tapped
    var p = sender.locationInView(sceneView)
    var hitResults = sceneView.hitTest(p, options: nil)
    if hitResults.count > 0
    {

        var hitnode = (hitResults.first)!.node
        print("\nName of node hit is \(hitnode.name)")

        //var indexvalue = hitResults.first?.faceIndex
        //print(indexvalue)
    }
  }
Run Code Online (Sandbox Code Playgroud)

如何确切地找到立方体的哪个面?

hittest scenekit

4
推荐指数
2
解决办法
2085
查看次数

当您在异步调用的构造函数中使用 setState 时,为什么此组件不会更新 - ReactJS/ReactNative?

** 编辑/重新措辞 **

在对我的问题进行了一些很好的回答之后,我编辑了问题中的代码,以尽可能清楚地说明我不明白的内容。

我有一个 withErrorHandler ,它将用作许多独立组件的 hoc 。

其中一个组件是 MyComponent。

withErrorHandler 的 componentWillMount 中的代码按预期工作,但由于它是一个废弃的方法,我必须将它移到某个地方。

位置 - ComponentDidMount 拦截器将无法拦截错误。

位置 - 构造函数拦截器将拦截错误,但不会向用户显示 withError 处理程序中的 Modal。

这里到底发生了什么?

import React from 'react';
import Modal from '../../components/UI/Modal/Modal';
import Aux from '../Aux/Aux';

const withErrorHandler = (WrappedComponent, axiosInstance) => {
    return class extends React.Component {
        constructor(props) {
            super(props);
            this.state= {
                error: null
            };
        }
        
        componentWillMount() {
            let { request, response} = axiosInstance.interceptors;
            this.requestInterceptor = request.use(req => {
                this.setState({error: null});
                return req;
            })
            this.responseInterceptor = response.use(resp …
Run Code Online (Sandbox Code Playgroud)

javascript constructor setstate reactjs react-native

3
推荐指数
1
解决办法
109
查看次数