Form ist nicht die Vorlage, die aus einer äußeren Taste reagieren

 class Index extends React.Component {
    state = {isLoading: false}

    onSubmit = (event) => {
       console.log('here we go');
       event.preventDefault();
       // this.checkEmailExistance();
    };

    render() {
      return (
       <>
         <form id="myForm" onSubmit={this.onSubmit} noValidate>
            <CredentialsInputs />
         </form>
         <footer>
            <Button type="submit" form="myForm" isPrimary isDisabled={!isValid}>   
               Continue
            </Button>
          </footer>
        </>
     )}
 }

onSubmit-Funktion wird nicht aufgerufen

Note: the props (type and form) was passed well and check using the console elements

Das problem ist, etwas zu reagieren?

+1
2019-09-17 09:22:28
Quelle
2 Antworten

Die overlap-box Erben die Transformation, die rotation, können Sie transform.rotation anstelle von Quaternion.identity für die overlap-box-rotation.

Für den gizmo, es ist ein wenig komplexer. Ein Weg, um dies zu beheben, ändern Sie den Gizmo matrix auf der lokalen Transformation matrix mit Gizmos.matrix = transform.localToWorldMatrix, die machen das gizmo übernehmen die Spieler die rotation. Aber, es wird auch das gizmo-position relativ zu dem Spieler lokalen position. Also, müssen Sie konvertieren die Welt, die position boxPosition auf der lokalen position, bevor Sie das gizmo. Sie können verwenden Sie transform.InverseTransformPoint, um dies zu tun.

Sie können wiederherstellen möchten, die gizmo-Einstellungen zu dem, was Sie vorher waren, oder es könnte ein unerwartetes Verhalten in anderen Orten, wo Gizmos verwendet wird.

Insgesamt:

//draw a hitbox in front of the character to see which objects it collides with
Vector3 boxPosition = transform.position + (Vector3.up * lastAttack.collHeight) 
        + Vector3.right * lastAttack.collDistance;
Vector3 boxSize = new Vector3 (lastAttack.CollSize/2, lastAttack.CollSize/2, hitZRange/2);
Collider[] hitColliders = Physics.OverlapBox(boxPosition, boxSize,
        transform.rotation, HitLayerMask);

...

void OnDrawGizmos(){
    if (lastAttack != null && (Time.time - lastAttackTime) < lastAttack.duration) {

        // cache previous Gizmos settings
        Color prevColor = Gizmos.color;
        Matrix4x4 prevMatrix = Gismos.matrix;

        Gizmos.color = Color.red;
        Gizmos.matrix = transform.localToWorldMatrix; 

        Vector3 boxPosition = transform.position + (Vector3.up * lastAttack.collHeight) 
                + Vector3.right * ((int)lastAttackDirection * lastAttack.collDistance);

        // convert from world position to local position 
        boxPosition = transform.InverseTransformPoint(boxPosition); 

        Vector3 boxSize = new Vector3 (lastAttack.CollSize, lastAttack.CollSize, hitZRange); 
        Gizmos.DrawWireCube (boxPosition, boxSize);

        // restore previous Gizmos settings
        Gizmos.color = prevColor;
        Gizmos.matrix = prevMatrix;
    }
}
+0
2019-09-17 09:26:40

Wenn Sie senden vom browser, die websocket wird eine gute Lösung ist, da Sie nicht neu erstellen müssen Sie die Netzwerk-Verbindung jedes mal.

Wenn Sie Sie senden, zwischen backend-services, verwenden einige RPC-oder socket-Kommunikation, um die Verbindung lebendig.

+0
2019-09-17 10:06:37

Sehen Sie sich andere Fragen zu Tags an