var currentFACE = 'front';
function CubeButton(props) {
const posClass = 'sidebutton bt_' + props.sidePosition;
return
;
}
class Cube extends React.Component {
constructor(props) {
super(props);
this.state = { face: currentFACE, size: props.size, sw: props.w, sh: props.h };
}
onSide(target) {
currentFACE = target;
this.setState(prevState => {
return {
face: target
};
});
}
onTop() { this.onSide('top'); }
onBottom() { this.onSide('bottom'); }
onLeft() { this.onSide('left'); }
onRight() { this.onSide('right'); }
onFront() { this.onSide('front'); }
onBack() { this.onSide('back'); }
render() {
let half = this.state.size / 2;
let cubeTransform = 'translateX(' + ((this.state.sw / 2) - half) + 'px) translateY(' + ((this.state.sh / 2) - half) + 'px) translateZ(-' + half + 'px)';
if (this.state.face == 'front') cubeTransform = cubeTransform + ' rotateY(0deg)';
if (this.state.face == 'right') cubeTransform = cubeTransform + ' rotateY(-90deg)';
if (this.state.face == 'back') cubeTransform = cubeTransform + ' rotateY(-180deg)';
if (this.state.face == 'left') cubeTransform = cubeTransform + ' rotateY(90deg)';
if (this.state.face == 'top') cubeTransform = cubeTransform + ' rotateX(-90deg)';
if (this.state.face == 'bottom') cubeTransform = cubeTransform + ' rotateX(90deg)';
let trFront = 'rotateY( 0deg) translateZ(' + half + 'px)';
let trRight = 'rotateY( 90deg) translateZ(' + half + 'px)';
let trBack = 'rotateY(180deg) translateZ(' + half + 'px)';
let trLeft = 'rotateY(-90deg) translateZ(' + half + 'px)';
let trTop = 'rotateX( 90deg) translateZ(' + half + 'px)';
let trBottom = 'rotateX(-90deg) translateZ(' + half + 'px)';
return (
);
}
}
class Scene extends React.Component {
constructor(props) {
super(props);
let s = '';
for (let i = 0; i < 10; i++) {
s = s + ' ' + Math.round(Math.random());
s = s + ' ' + Math.round(Math.random());
s = s + ' ' + Math.round(Math.random());
s = s + ' ' + Math.round(Math.random());
s = s + ' ' + Math.round(Math.random());
s = s + ' ' + Math.round(Math.random());
s = s + ' ' + Math.round(Math.random());
s = s + ' ' + Math.round(Math.random());
s = s + ' ';
}
this.state = { content: s };
}
render() {
let scrWidth = window.innerWidth
|| document.documentElement.clientWidth
|| document.body.clientWidth;
let scrHeight = window.innerHeight
|| document.documentElement.clientHeight
|| document.body.clientHeight;
let _size = Math.min(scrWidth, scrHeight);
let _SIZE = Math.max(scrWidth, scrHeight);
let _aspect = _SIZE / _size;
let _perspective = _size * _aspect * 1.2;
let _content = '';
for (let i = 0; i < 150; i++) {
_content = _content + '\n' + this.state.content;
}
const cusize = _size * 0.92;
reactRenrerComplete = true;
return (
);
}
}
const placeWeWantToPutComponent = document.getElementById('hook');
ReactDOM.render(, placeWeWantToPutComponent);
window.addEventListener('resize', function(event){
clearChilds(placeWeWantToPutComponent);
ReactDOM.render(, placeWeWantToPutComponent);
if (!contentUpdateTimer) contentUpdateTimer = setTimeout(contentFill, 250);
});