Skip to content

Instantly share code, notes, and snippets.

@garganurag893
Last active November 16, 2019 14:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save garganurag893/b7d9c605eefe689a5e467c4ee4c7ff0f to your computer and use it in GitHub Desktop.
Save garganurag893/b7d9c605eefe689a5e467c4ee4c7ff0f to your computer and use it in GitHub Desktop.
import React from 'react';
import {Image} from 'react-native';
import {array, object, string} from 'prop-types';
import Matter from 'matter-js';
const airplane = require('../../assets/airplane.png');
const Plane = props => {
const width = props.size[0];
const height = props.size[1];
const x = props.body.position.x - width / 2;
const y = props.body.position.y - height / 2;
return (
<Image
style={{
position: 'absolute',
left: x,
top: y,
width: width,
height: height,
}}
resizeMode="stretch"
source={airplane}
/>
);
};
export default (world, color, pos, size) => {
const initialPlane = Matter.Bodies.rectangle(
pos.x,
pos.y,
size.width,
size.height,
);
Matter.World.add(world, [initialPlane]);
return {
body: initialPlane,
size: [size.width, size.height],
color: color,
renderer: <Plane />,
};
};
Plane.propTypes = {
size: array,
body: object,
color: string,
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment