围绕中心点旋转物体

时间:2016-08-17 17:14:07

标签: android libgdx box2d

我有一个游戏世界,玩家围绕一个点(如行星)旋转。如何围绕中心点旋转身体?我也想以某种方式能够使用像演员类插值这样的东西来移动东西,这可能吗?谢谢!

1 个答案:

答案 0 :(得分:2)

您可以轻松地通过vector2旋转。

import React from 'react';

import Message from './Message';
import MessageList from './MessageList';

export default class Chat extends React.Component {
  constructor(){
    super();
    this.state = { messages: [] };
  }

  componentDidMount(){
    const socket = this.props.socket;
    socket.on('message', message => {
      this.setState({ messages: [...this.state.messages, message] });
    })
  }

  handleSubmit = event => {
    const socket = this.props.socket;
    const body = event.target.value
    if(event.keyCode === 13  && body){
      const message = {
        body,
        from: 'Me'
      }
      this.setState({ messages: [...this.state.messages, message] });
      socket.emit('message', body)
      event.target.value = '';
    }
  }

  render(){
    const messages = this.state.messages.map((message, index) => {
      return <li key={index}>{message.from}: {message.body}</li>
    })
    return(
      <div class="chat">
        <MessageList messages={messages}/>
        <Message handleSubmit={this.handleSubmit}/>
      </div>
    )
  }
}

您还可以使用actor方法。

只需定义像 is_in_orbit 这样的新变量,如果它是真的(在轨道中),则旋转,否则使用actor类插值方法移动。

顺便说一下,你也有使用物理学的意见,因为牛顿万有引力定律也是物理学,但它会很复杂,如果出现更多中心点(如你所说的行星),会导致意想不到的结果。