チームプロジェクト-バージョン実装2
38048 ワード
チームプロジェクト-バージョンの実装が完了します
最終レコード
1では、ドラッグアンドドロップ機能を使用して要素を移動し、11個に増やして終了します.
今日、各位置のデフォルト位置を4-4-2アレイに位置決めし、x、y値座標の変化に伴って位置も変化することを実現します.
インプリメンテーション
まず,x,y値を理解するために,ドラッグ可能なデフォルト関数onDragを用いる.import React, { useState } from 'react';
import "./Formation.css"
import Draggable from 'react-draggable';
function Formation () {
const [Status, SetStatus] = useState(true)
const [position, setPosition] = useState({ x: 0, y: 0 });
const [position2, setPosition2] = useState({ x: 0, y: 0 });
const onStatusHandler = () => {
SetStatus(!Status)
}
const trackPos = (data) => {
setPosition({ x: data.x, y: data.y });
};
const trackPos2 = (data) => {
setPosition2({ x: data.x, y: data.y });
};
return(
<div className="formation">
<button onClick={onStatusHandler}>
{Status ? "편집" : "편집 완료"}
</button>
<Draggable
disabled={Status}
defaultPosition={{x: 0, y: 0}}
onDrag={(e, data) => trackPos(data)}
>
<div className="move">
<div>1</div>
<div>x: {position.x.toFixed(0)}, y: {position.y.toFixed(0)}</div>
</div>
</Draggable>
<Draggable
disabled={Status}
defaultPosition={{x: 0, y: 0}}
onDrag={(e, data) => trackPos2(data)}
>
<div className="move">
<div>2</div>
<div>x: {position2.x.toFixed(0)}, y: {position2.y.toFixed(0)}</div>
</div>
</Draggable>
</div>
)
}
export default Formation
onDragはドラッグ操作中に発生する関数です
ドラッグするとx,yの値が変化しstateに入れられ、すぐに要素に座標が付きます
1番目の要素の下に2番目の要素の座標が違います.
要素の生成位置がy座標0になり、1、2番の要素の値が異なる
そこで、要素を重ねて生成する方法を見つけるために、グーグルゲームをしたり、知識人に質問したりしました.
私はそれを知識人に渡しました.彼は答えが絶対だと言っていました.
組員さんも絶対でいいと言ってくれて、やってくれて、重ねて生成してくれました.move {
background-color:skyblue;
width:80px;
height:80px;
border-radius:75px;
text-align:center;
margin:0 auto;
font-size:30px;
vertical-align:middle;
line-height:50px;
cursor: grab;
position: absolute;
}
.move:hover {
background-color: pink;
}
.formation {
width: 600px;
height: 950px;
background-image: url(https://velog.velcdn.com/images%2Fqnrl3442%2Fpost%2F733d5e03-5531-4e99-98e6-6f9a05c26c15%2Fformation.png);
}
だからノガダでx,y値を測定し,位置別に領域を区分した.
ある特定の位置に入ると、その位置値を要素に出力するためにContent Stateが作成されます.import React, { useState, useEffect } from 'react';
import "./Formation.css"
import Draggable from 'react-draggable';
function Formation () {
const [Status, SetStatus] = useState(true)
const onStatusHandler = () => {
SetStatus(!Status)
}
const [Content1, SetContent1] = useState("ST");
const [Content2, SetContent2] = useState("ST");
const [Content3, SetContent3] = useState("LM");
const [Content4, SetContent4] = useState("CM");
const [Content5, SetContent5] = useState("CM");
const [Content6, SetContent6] = useState("RM");
const [Content7, SetContent7] = useState("LB");
const [Content8, SetContent8] = useState("CB");
const [Content9, SetContent9] = useState("CB");
const [Content10, SetContent10] = useState("RB");
const onContentHandler1 = (props) => {
SetContent1(props)
}
const onDragHandler1 =(data) =>{
if(data.x>80 && data.y < 120 && data.x <450){
onContentHandler1("ST")
} else if(data.x<80 && data.y < 200){
onContentHandler1("LW")
} else if(data.x > 450 && data.y < 200){
onContentHandler1("RW")
} else if(data.x>80 && data.y > 120 && data.y < 185 && data.x <450){
onContentHandler1("CF")
} else if(data.x>80 && data.y > 185 && data.y < 275 && data.x <450){
onContentHandler1("CAM")
} else if(data.x<80 && data.y > 200 && data.y < 440){
onContentHandler1("LM")
} else if(data.x > 450 && data.y > 200 && data.y < 440){
onContentHandler1("RM")
} else if(data.x>80 && data.y > 275 && data.y < 460 && data.x <450){
onContentHandler1("CM")
} else if(data.x<80 && data.y > 440){
onContentHandler1("LB")
} else if(data.x > 450 && data.y > 440){
onContentHandler1("RB")
} else if(data.x>80 && data.y > 460 && data.y < 560 && data.x <450){
onContentHandler1("CDM")
} else if(data.x>80 && data.y > 560 && data.x <450){
onContentHandler1("CB")
}
}
const onContentHandler2 = (props) => {
SetContent2(props)
}
const onDragHandler2 =(data) =>{
if(data.x>80 && data.y < 120 && data.x <450){
onContentHandler2("ST")
} else if(data.x<80 && data.y < 200){
onContentHandler2("LW")
} else if(data.x > 450 && data.y < 200){
onContentHandler2("RW")
} else if(data.x>80 && data.y > 120 && data.y < 185 && data.x <450){
onContentHandler2("CF")
} else if(data.x>80 && data.y > 185 && data.y < 275 && data.x <450){
onContentHandler2("CAM")
} else if(data.x<80 && data.y > 200 && data.y < 440){
onContentHandler2("LM")
} else if(data.x > 450 && data.y > 200 && data.y < 440){
onContentHandler2("RM")
} else if(data.x>80 && data.y > 275 && data.y < 460 && data.x <450){
onContentHandler2("CM")
} else if(data.x<80 && data.y > 440){
onContentHandler2("LB")
} else if(data.x > 450 && data.y > 440){
onContentHandler2("RB")
} else if(data.x>80 && data.y > 460 && data.y < 560 && data.x <450){
onContentHandler2("CDM")
} else if(data.x>80 && data.y > 560 && data.x <450){
onContentHandler2("CB")
}
}
const onContentHandler3 = (props) => {
SetContent3(props)
}
const onDragHandler3 =(data) =>{
if(data.x>80 && data.y < 120 && data.x <450){
onContentHandler3("ST")
} else if(data.x<80 && data.y < 200){
onContentHandler3("LW")
} else if(data.x > 450 && data.y < 200){
onContentHandler3("RW")
} else if(data.x>80 && data.y > 120 && data.y < 185 && data.x <450){
onContentHandler3("CF")
} else if(data.x>80 && data.y > 185 && data.y < 275 && data.x <450){
onContentHandler3("CAM")
} else if(data.x<80 && data.y > 200 && data.y < 440){
onContentHandler3("LM")
} else if(data.x > 450 && data.y > 200 && data.y < 440){
onContentHandler3("RM")
} else if(data.x>80 && data.y > 275 && data.y < 460 && data.x <450){
onContentHandler3("CM")
} else if(data.x<80 && data.y > 440){
onContentHandler3("LB")
} else if(data.x > 450 && data.y > 440){
onContentHandler3("RB")
} else if(data.x>80 && data.y > 460 && data.y < 560 && data.x <450){
onContentHandler3("CDM")
} else if(data.x>80 && data.y > 560 && data.x <450){
onContentHandler3("CB")
}
}
const onContentHandler4 = (props) => {
SetContent4(props)
}
const onDragHandler4 =(data) =>{
if(data.x>80 && data.y < 120 && data.x <450){
onContentHandler4("ST")
} else if(data.x<80 && data.y < 200){
onContentHandler4("LW")
} else if(data.x > 450 && data.y < 200){
onContentHandler4("RW")
} else if(data.x>80 && data.y > 120 && data.y < 185 && data.x <450){
onContentHandler4("CF")
} else if(data.x>80 && data.y > 185 && data.y < 275 && data.x <450){
onContentHandler4("CAM")
} else if(data.x<80 && data.y > 200 && data.y < 440){
onContentHandler4("LM")
} else if(data.x > 450 && data.y > 200 && data.y < 440){
onContentHandler4("RM")
} else if(data.x>80 && data.y > 275 && data.y < 460 && data.x <450){
onContentHandler4("CM")
} else if(data.x<80 && data.y > 440){
onContentHandler4("LB")
} else if(data.x > 450 && data.y > 440){
onContentHandler4("RB")
} else if(data.x>80 && data.y > 460 && data.y < 560 && data.x <450){
onContentHandler4("CDM")
} else if(data.x>80 && data.y > 560 && data.x <450){
onContentHandler4("CB")
}
}
const onContentHandler5 = (props) => {
SetContent5(props)
}
const onDragHandler5 =(data) =>{
if(data.x>80 && data.y < 120 && data.x <450){
onContentHandler5("ST")
} else if(data.x<80 && data.y < 200){
onContentHandler5("LW")
} else if(data.x > 450 && data.y < 200){
onContentHandler5("RW")
} else if(data.x>80 && data.y > 120 && data.y < 185 && data.x <450){
onContentHandler5("CF")
} else if(data.x>80 && data.y > 185 && data.y < 275 && data.x <450){
onContentHandler5("CAM")
} else if(data.x<80 && data.y > 200 && data.y < 440){
onContentHandler5("LM")
} else if(data.x > 450 && data.y > 200 && data.y < 440){
onContentHandler5("RM")
} else if(data.x>80 && data.y > 275 && data.y < 460 && data.x <450){
onContentHandler5("CM")
} else if(data.x<80 && data.y > 440){
onContentHandler5("LB")
} else if(data.x > 450 && data.y > 440){
onContentHandler5("RB")
} else if(data.x>80 && data.y > 460 && data.y < 560 && data.x <450){
onContentHandler5("CDM")
} else if(data.x>80 && data.y > 560 && data.x <450){
onContentHandler5("CB")
}
}
const onContentHandler6 = (props) => {
SetContent6(props)
}
const onDragHandler6 =(data) =>{
if(data.x>80 && data.y < 120 && data.x <450){
onContentHandler6("ST")
} else if(data.x<80 && data.y < 200){
onContentHandler6("LW")
} else if(data.x > 450 && data.y < 200){
onContentHandler6("RW")
} else if(data.x>80 && data.y > 120 && data.y < 185 && data.x <450){
onContentHandler6("CF")
} else if(data.x>80 && data.y > 185 && data.y < 275 && data.x <450){
onContentHandler6("CAM")
} else if(data.x<80 && data.y > 200 && data.y < 440){
onContentHandler6("LM")
} else if(data.x > 450 && data.y > 200 && data.y < 440){
onContentHandler6("RM")
} else if(data.x>80 && data.y > 275 && data.y < 460 && data.x <450){
onContentHandler6("CM")
} else if(data.x<80 && data.y > 440){
onContentHandler6("LB")
} else if(data.x > 450 && data.y > 440){
onContentHandler6("RB")
} else if(data.x>80 && data.y > 460 && data.y < 560 && data.x <450){
onContentHandler6("CDM")
} else if(data.x>80 && data.y > 560 && data.x <450){
onContentHandler6("CB")
}
}
const onContentHandler7 = (props) => {
SetContent7(props)
}
const onDragHandler7 =(data) =>{
if(data.x>80 && data.y < 120 && data.x <450){
onContentHandler7("ST")
} else if(data.x<80 && data.y < 200){
onContentHandler7("LW")
} else if(data.x > 450 && data.y < 200){
onContentHandler7("RW")
} else if(data.x>80 && data.y > 120 && data.y < 185 && data.x <450){
onContentHandler7("CF")
} else if(data.x>80 && data.y > 185 && data.y < 275 && data.x <450){
onContentHandler7("CAM")
} else if(data.x<80 && data.y > 200 && data.y < 440){
onContentHandler7("LM")
} else if(data.x > 450 && data.y > 200 && data.y < 440){
onContentHandler7("RM")
} else if(data.x>80 && data.y > 275 && data.y < 460 && data.x <450){
onContentHandler7("CM")
} else if(data.x<80 && data.y > 440){
onContentHandler7("LB")
} else if(data.x > 450 && data.y > 440){
onContentHandler7("RB")
} else if(data.x>80 && data.y > 460 && data.y < 560 && data.x <450){
onContentHandler7("CDM")
} else if(data.x>80 && data.y > 560 && data.x <450){
onContentHandler7("CB")
}
}
const onContentHandler8 = (props) => {
SetContent8(props)
}
const onDragHandler8 =(data) =>{
if(data.x>80 && data.y < 120 && data.x <450){
onContentHandler8("ST")
} else if(data.x<80 && data.y < 200){
onContentHandler8("LW")
} else if(data.x > 450 && data.y < 200){
onContentHandler8("RW")
} else if(data.x>80 && data.y > 120 && data.y < 185 && data.x <450){
onContentHandler8("CF")
} else if(data.x>80 && data.y > 185 && data.y < 275 && data.x <450){
onContentHandler8("CAM")
} else if(data.x<80 && data.y > 200 && data.y < 440){
onContentHandler8("LM")
} else if(data.x > 450 && data.y > 200 && data.y < 440){
onContentHandler8("RM")
} else if(data.x>80 && data.y > 275 && data.y < 460 && data.x <450){
onContentHandler8("CM")
} else if(data.x<80 && data.y > 440){
onContentHandler8("LB")
} else if(data.x > 450 && data.y > 440){
onContentHandler8("RB")
} else if(data.x>80 && data.y > 460 && data.y < 560 && data.x <450){
onContentHandler8("CDM")
} else if(data.x>80 && data.y > 560 && data.x <450){
onContentHandler8("CB")
}
}
const onContentHandler9 = (props) => {
SetContent9(props)
}
const onDragHandler9 =(data) =>{
if(data.x>80 && data.y < 120 && data.x <450){
onContentHandler9("ST")
} else if(data.x<80 && data.y < 200){
onContentHandler9("LW")
} else if(data.x > 450 && data.y < 200){
onContentHandler9("RW")
} else if(data.x>80 && data.y > 120 && data.y < 185 && data.x <450){
onContentHandler9("CF")
} else if(data.x>80 && data.y > 185 && data.y < 275 && data.x <450){
onContentHandler9("CAM")
} else if(data.x<80 && data.y > 200 && data.y < 440){
onContentHandler9("LM")
} else if(data.x > 450 && data.y > 200 && data.y < 440){
onContentHandler9("RM")
} else if(data.x>80 && data.y > 275 && data.y < 460 && data.x <450){
onContentHandler9("CM")
} else if(data.x<80 && data.y > 440){
onContentHandler9("LB")
} else if(data.x > 450 && data.y > 440){
onContentHandler9("RB")
} else if(data.x>80 && data.y > 460 && data.y < 560 && data.x <450){
onContentHandler9("CDM")
} else if(data.x>80 && data.y > 560 && data.x <450){
onContentHandler9("CB")
}
}
const onContentHandler10 = (props) => {
SetContent10(props)
}
const onDragHandler10 =(data) =>{
if(data.x>80 && data.y < 120 && data.x <450){
onContentHandler10("ST")
} else if(data.x<80 && data.y < 200){
onContentHandler10("LW")
} else if(data.x > 450 && data.y < 200){
onContentHandler10("RW")
} else if(data.x>80 && data.y > 120 && data.y < 185 && data.x <450){
onContentHandler10("CF")
} else if(data.x>80 && data.y > 185 && data.y < 275 && data.x <450){
onContentHandler10("CAM")
} else if(data.x<80 && data.y > 200 && data.y < 440){
onContentHandler10("LM")
} else if(data.x > 450 && data.y > 200 && data.y < 440){
onContentHandler10("RM")
} else if(data.x>80 && data.y > 275 && data.y < 460 && data.x <450){
onContentHandler10("CM")
} else if(data.x<80 && data.y > 440){
onContentHandler10("LB")
} else if(data.x > 450 && data.y > 440){
onContentHandler10("RB")
} else if(data.x>80 && data.y > 460 && data.y < 560 && data.x <450){
onContentHandler10("CDM")
} else if(data.x>80 && data.y > 560 && data.x <450){
onContentHandler10("CB")
}
}
return(
<div className="formation">
<button onClick={onStatusHandler}>
{Status ? "편집" : "편집 완료"}
</button>
<Draggable
disabled={Status}
defaultPosition={{x: 145, y: 80}}
onDrag = {(e, data) => onDragHandler1(data)}
bounds = {{top: 0, left: 0, right: 520, bottom: 740}}
>
<div className="move">
<div>{Content1}</div>
</div>
</Draggable>
<Draggable
disabled={Status}
defaultPosition={{x: 380, y: 80}}
onDrag = {(e, data) => onDragHandler2(data)}
bounds = {{top: 0, left: 0, right: 520, bottom: 740}}
>
<div className="move">
<div>{Content2}</div>
</div>
</Draggable>
<Draggable
disabled={Status}
defaultPosition={{x: 25, y: 280}}
onDrag = {(e, data) => onDragHandler3(data)}
bounds = {{top: 0, left: 0, right: 520, bottom: 740}}
>
<div className="move">
<div>{Content3}</div>
</div>
</Draggable>
<Draggable
disabled={Status}
defaultPosition={{ x: 160, y: 360 }}
onDrag = {(e, data) => onDragHandler4(data)}
bounds = {{top: 0, left: 0, right: 520, bottom: 740}}
>
<div className="move">
<div>{Content4}</div>
</div>
</Draggable>
<Draggable
disabled={Status}
defaultPosition={{x: 350, y: 360}}
onDrag = {(e, data) => onDragHandler5(data)}
bounds = {{top: 0, left: 0, right: 520, bottom: 740}}
>
<div className="move">
<div>{Content5}</div>
</div>
</Draggable>
<Draggable
disabled={Status}
defaultPosition={{x: 500, y: 280}}
onDrag = {(e, data) => onDragHandler6(data)}
bounds = {{top: 0, left: 0, right: 520, bottom: 740}}
>
<div className="move">
<div>{Content6}</div>
</div>
</Draggable>
<Draggable
disabled={Status}
defaultPosition={{x: 30, y: 580}}
onDrag = {(e, data) => onDragHandler7(data)}
bounds = {{top: 0, left: 0, right: 520, bottom: 740}}
>
<div className="move">
<div>{Content7}</div>
</div>
</Draggable>
<Draggable
disabled={Status}
defaultPosition={{x: 160, y: 660}}
onDrag = {(e, data) => onDragHandler8(data)}
bounds = {{top: 0, left: 0, right: 520, bottom: 740}}
>
<div className="move">
<div>{Content8}</div>
</div>
</Draggable>
<Draggable
disabled={Status}
defaultPosition={{x: 350, y: 660}}
onDrag = {(e, data) => onDragHandler9(data)}
bounds = {{top: 0, left: 0, right: 520, bottom: 740}}
>
<div className="move">
<div>{Content9}</div>
</div>
</Draggable>
<Draggable
disabled={Status}
defaultPosition={{x: 485, y: 580}}
onDrag = {(e, data) => onDragHandler10(data)}
bounds = {{top: 0, left: 0, right: 520, bottom: 740}}
>
<div className="move">
<div>{Content10}</div>
</div>
</Draggable>
<Draggable
disabled={true}
defaultPosition={{x: 260, y: 790}}
>
<div className="GK">
<div>GK</div>
</div>
</Draggable>
</div>
)
}
export default Formation
各要素が持つx,y値が異なるため,要素の数によってstateが生成され,コードが長すぎる.
コードを短縮する方法があるかどうか分かりませんが、先にこのように実現しましたが、結果は以下の通りです.
残りは編集ボタンをクリックし、バッグから選手dbを取得する.
必要な直線をユーザーが必要とする要素に挿入し、「編集完了」ボタンをクリックします.
各要素の位置、登録した選手をバックグラウンドに出す
Reference
この問題について(チームプロジェクト-バージョン実装2), 我々は、より多くの情報をここで見つけました
https://velog.io/@qnrl3442/팀-프로젝트-포메이션판-구현-거의-완료
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
import React, { useState } from 'react';
import "./Formation.css"
import Draggable from 'react-draggable';
function Formation () {
const [Status, SetStatus] = useState(true)
const [position, setPosition] = useState({ x: 0, y: 0 });
const [position2, setPosition2] = useState({ x: 0, y: 0 });
const onStatusHandler = () => {
SetStatus(!Status)
}
const trackPos = (data) => {
setPosition({ x: data.x, y: data.y });
};
const trackPos2 = (data) => {
setPosition2({ x: data.x, y: data.y });
};
return(
<div className="formation">
<button onClick={onStatusHandler}>
{Status ? "편집" : "편집 완료"}
</button>
<Draggable
disabled={Status}
defaultPosition={{x: 0, y: 0}}
onDrag={(e, data) => trackPos(data)}
>
<div className="move">
<div>1</div>
<div>x: {position.x.toFixed(0)}, y: {position.y.toFixed(0)}</div>
</div>
</Draggable>
<Draggable
disabled={Status}
defaultPosition={{x: 0, y: 0}}
onDrag={(e, data) => trackPos2(data)}
>
<div className="move">
<div>2</div>
<div>x: {position2.x.toFixed(0)}, y: {position2.y.toFixed(0)}</div>
</div>
</Draggable>
</div>
)
}
export default Formation
.move {
background-color:skyblue;
width:80px;
height:80px;
border-radius:75px;
text-align:center;
margin:0 auto;
font-size:30px;
vertical-align:middle;
line-height:50px;
cursor: grab;
position: absolute;
}
.move:hover {
background-color: pink;
}
.formation {
width: 600px;
height: 950px;
background-image: url(https://velog.velcdn.com/images%2Fqnrl3442%2Fpost%2F733d5e03-5531-4e99-98e6-6f9a05c26c15%2Fformation.png);
}
import React, { useState, useEffect } from 'react';
import "./Formation.css"
import Draggable from 'react-draggable';
function Formation () {
const [Status, SetStatus] = useState(true)
const onStatusHandler = () => {
SetStatus(!Status)
}
const [Content1, SetContent1] = useState("ST");
const [Content2, SetContent2] = useState("ST");
const [Content3, SetContent3] = useState("LM");
const [Content4, SetContent4] = useState("CM");
const [Content5, SetContent5] = useState("CM");
const [Content6, SetContent6] = useState("RM");
const [Content7, SetContent7] = useState("LB");
const [Content8, SetContent8] = useState("CB");
const [Content9, SetContent9] = useState("CB");
const [Content10, SetContent10] = useState("RB");
const onContentHandler1 = (props) => {
SetContent1(props)
}
const onDragHandler1 =(data) =>{
if(data.x>80 && data.y < 120 && data.x <450){
onContentHandler1("ST")
} else if(data.x<80 && data.y < 200){
onContentHandler1("LW")
} else if(data.x > 450 && data.y < 200){
onContentHandler1("RW")
} else if(data.x>80 && data.y > 120 && data.y < 185 && data.x <450){
onContentHandler1("CF")
} else if(data.x>80 && data.y > 185 && data.y < 275 && data.x <450){
onContentHandler1("CAM")
} else if(data.x<80 && data.y > 200 && data.y < 440){
onContentHandler1("LM")
} else if(data.x > 450 && data.y > 200 && data.y < 440){
onContentHandler1("RM")
} else if(data.x>80 && data.y > 275 && data.y < 460 && data.x <450){
onContentHandler1("CM")
} else if(data.x<80 && data.y > 440){
onContentHandler1("LB")
} else if(data.x > 450 && data.y > 440){
onContentHandler1("RB")
} else if(data.x>80 && data.y > 460 && data.y < 560 && data.x <450){
onContentHandler1("CDM")
} else if(data.x>80 && data.y > 560 && data.x <450){
onContentHandler1("CB")
}
}
const onContentHandler2 = (props) => {
SetContent2(props)
}
const onDragHandler2 =(data) =>{
if(data.x>80 && data.y < 120 && data.x <450){
onContentHandler2("ST")
} else if(data.x<80 && data.y < 200){
onContentHandler2("LW")
} else if(data.x > 450 && data.y < 200){
onContentHandler2("RW")
} else if(data.x>80 && data.y > 120 && data.y < 185 && data.x <450){
onContentHandler2("CF")
} else if(data.x>80 && data.y > 185 && data.y < 275 && data.x <450){
onContentHandler2("CAM")
} else if(data.x<80 && data.y > 200 && data.y < 440){
onContentHandler2("LM")
} else if(data.x > 450 && data.y > 200 && data.y < 440){
onContentHandler2("RM")
} else if(data.x>80 && data.y > 275 && data.y < 460 && data.x <450){
onContentHandler2("CM")
} else if(data.x<80 && data.y > 440){
onContentHandler2("LB")
} else if(data.x > 450 && data.y > 440){
onContentHandler2("RB")
} else if(data.x>80 && data.y > 460 && data.y < 560 && data.x <450){
onContentHandler2("CDM")
} else if(data.x>80 && data.y > 560 && data.x <450){
onContentHandler2("CB")
}
}
const onContentHandler3 = (props) => {
SetContent3(props)
}
const onDragHandler3 =(data) =>{
if(data.x>80 && data.y < 120 && data.x <450){
onContentHandler3("ST")
} else if(data.x<80 && data.y < 200){
onContentHandler3("LW")
} else if(data.x > 450 && data.y < 200){
onContentHandler3("RW")
} else if(data.x>80 && data.y > 120 && data.y < 185 && data.x <450){
onContentHandler3("CF")
} else if(data.x>80 && data.y > 185 && data.y < 275 && data.x <450){
onContentHandler3("CAM")
} else if(data.x<80 && data.y > 200 && data.y < 440){
onContentHandler3("LM")
} else if(data.x > 450 && data.y > 200 && data.y < 440){
onContentHandler3("RM")
} else if(data.x>80 && data.y > 275 && data.y < 460 && data.x <450){
onContentHandler3("CM")
} else if(data.x<80 && data.y > 440){
onContentHandler3("LB")
} else if(data.x > 450 && data.y > 440){
onContentHandler3("RB")
} else if(data.x>80 && data.y > 460 && data.y < 560 && data.x <450){
onContentHandler3("CDM")
} else if(data.x>80 && data.y > 560 && data.x <450){
onContentHandler3("CB")
}
}
const onContentHandler4 = (props) => {
SetContent4(props)
}
const onDragHandler4 =(data) =>{
if(data.x>80 && data.y < 120 && data.x <450){
onContentHandler4("ST")
} else if(data.x<80 && data.y < 200){
onContentHandler4("LW")
} else if(data.x > 450 && data.y < 200){
onContentHandler4("RW")
} else if(data.x>80 && data.y > 120 && data.y < 185 && data.x <450){
onContentHandler4("CF")
} else if(data.x>80 && data.y > 185 && data.y < 275 && data.x <450){
onContentHandler4("CAM")
} else if(data.x<80 && data.y > 200 && data.y < 440){
onContentHandler4("LM")
} else if(data.x > 450 && data.y > 200 && data.y < 440){
onContentHandler4("RM")
} else if(data.x>80 && data.y > 275 && data.y < 460 && data.x <450){
onContentHandler4("CM")
} else if(data.x<80 && data.y > 440){
onContentHandler4("LB")
} else if(data.x > 450 && data.y > 440){
onContentHandler4("RB")
} else if(data.x>80 && data.y > 460 && data.y < 560 && data.x <450){
onContentHandler4("CDM")
} else if(data.x>80 && data.y > 560 && data.x <450){
onContentHandler4("CB")
}
}
const onContentHandler5 = (props) => {
SetContent5(props)
}
const onDragHandler5 =(data) =>{
if(data.x>80 && data.y < 120 && data.x <450){
onContentHandler5("ST")
} else if(data.x<80 && data.y < 200){
onContentHandler5("LW")
} else if(data.x > 450 && data.y < 200){
onContentHandler5("RW")
} else if(data.x>80 && data.y > 120 && data.y < 185 && data.x <450){
onContentHandler5("CF")
} else if(data.x>80 && data.y > 185 && data.y < 275 && data.x <450){
onContentHandler5("CAM")
} else if(data.x<80 && data.y > 200 && data.y < 440){
onContentHandler5("LM")
} else if(data.x > 450 && data.y > 200 && data.y < 440){
onContentHandler5("RM")
} else if(data.x>80 && data.y > 275 && data.y < 460 && data.x <450){
onContentHandler5("CM")
} else if(data.x<80 && data.y > 440){
onContentHandler5("LB")
} else if(data.x > 450 && data.y > 440){
onContentHandler5("RB")
} else if(data.x>80 && data.y > 460 && data.y < 560 && data.x <450){
onContentHandler5("CDM")
} else if(data.x>80 && data.y > 560 && data.x <450){
onContentHandler5("CB")
}
}
const onContentHandler6 = (props) => {
SetContent6(props)
}
const onDragHandler6 =(data) =>{
if(data.x>80 && data.y < 120 && data.x <450){
onContentHandler6("ST")
} else if(data.x<80 && data.y < 200){
onContentHandler6("LW")
} else if(data.x > 450 && data.y < 200){
onContentHandler6("RW")
} else if(data.x>80 && data.y > 120 && data.y < 185 && data.x <450){
onContentHandler6("CF")
} else if(data.x>80 && data.y > 185 && data.y < 275 && data.x <450){
onContentHandler6("CAM")
} else if(data.x<80 && data.y > 200 && data.y < 440){
onContentHandler6("LM")
} else if(data.x > 450 && data.y > 200 && data.y < 440){
onContentHandler6("RM")
} else if(data.x>80 && data.y > 275 && data.y < 460 && data.x <450){
onContentHandler6("CM")
} else if(data.x<80 && data.y > 440){
onContentHandler6("LB")
} else if(data.x > 450 && data.y > 440){
onContentHandler6("RB")
} else if(data.x>80 && data.y > 460 && data.y < 560 && data.x <450){
onContentHandler6("CDM")
} else if(data.x>80 && data.y > 560 && data.x <450){
onContentHandler6("CB")
}
}
const onContentHandler7 = (props) => {
SetContent7(props)
}
const onDragHandler7 =(data) =>{
if(data.x>80 && data.y < 120 && data.x <450){
onContentHandler7("ST")
} else if(data.x<80 && data.y < 200){
onContentHandler7("LW")
} else if(data.x > 450 && data.y < 200){
onContentHandler7("RW")
} else if(data.x>80 && data.y > 120 && data.y < 185 && data.x <450){
onContentHandler7("CF")
} else if(data.x>80 && data.y > 185 && data.y < 275 && data.x <450){
onContentHandler7("CAM")
} else if(data.x<80 && data.y > 200 && data.y < 440){
onContentHandler7("LM")
} else if(data.x > 450 && data.y > 200 && data.y < 440){
onContentHandler7("RM")
} else if(data.x>80 && data.y > 275 && data.y < 460 && data.x <450){
onContentHandler7("CM")
} else if(data.x<80 && data.y > 440){
onContentHandler7("LB")
} else if(data.x > 450 && data.y > 440){
onContentHandler7("RB")
} else if(data.x>80 && data.y > 460 && data.y < 560 && data.x <450){
onContentHandler7("CDM")
} else if(data.x>80 && data.y > 560 && data.x <450){
onContentHandler7("CB")
}
}
const onContentHandler8 = (props) => {
SetContent8(props)
}
const onDragHandler8 =(data) =>{
if(data.x>80 && data.y < 120 && data.x <450){
onContentHandler8("ST")
} else if(data.x<80 && data.y < 200){
onContentHandler8("LW")
} else if(data.x > 450 && data.y < 200){
onContentHandler8("RW")
} else if(data.x>80 && data.y > 120 && data.y < 185 && data.x <450){
onContentHandler8("CF")
} else if(data.x>80 && data.y > 185 && data.y < 275 && data.x <450){
onContentHandler8("CAM")
} else if(data.x<80 && data.y > 200 && data.y < 440){
onContentHandler8("LM")
} else if(data.x > 450 && data.y > 200 && data.y < 440){
onContentHandler8("RM")
} else if(data.x>80 && data.y > 275 && data.y < 460 && data.x <450){
onContentHandler8("CM")
} else if(data.x<80 && data.y > 440){
onContentHandler8("LB")
} else if(data.x > 450 && data.y > 440){
onContentHandler8("RB")
} else if(data.x>80 && data.y > 460 && data.y < 560 && data.x <450){
onContentHandler8("CDM")
} else if(data.x>80 && data.y > 560 && data.x <450){
onContentHandler8("CB")
}
}
const onContentHandler9 = (props) => {
SetContent9(props)
}
const onDragHandler9 =(data) =>{
if(data.x>80 && data.y < 120 && data.x <450){
onContentHandler9("ST")
} else if(data.x<80 && data.y < 200){
onContentHandler9("LW")
} else if(data.x > 450 && data.y < 200){
onContentHandler9("RW")
} else if(data.x>80 && data.y > 120 && data.y < 185 && data.x <450){
onContentHandler9("CF")
} else if(data.x>80 && data.y > 185 && data.y < 275 && data.x <450){
onContentHandler9("CAM")
} else if(data.x<80 && data.y > 200 && data.y < 440){
onContentHandler9("LM")
} else if(data.x > 450 && data.y > 200 && data.y < 440){
onContentHandler9("RM")
} else if(data.x>80 && data.y > 275 && data.y < 460 && data.x <450){
onContentHandler9("CM")
} else if(data.x<80 && data.y > 440){
onContentHandler9("LB")
} else if(data.x > 450 && data.y > 440){
onContentHandler9("RB")
} else if(data.x>80 && data.y > 460 && data.y < 560 && data.x <450){
onContentHandler9("CDM")
} else if(data.x>80 && data.y > 560 && data.x <450){
onContentHandler9("CB")
}
}
const onContentHandler10 = (props) => {
SetContent10(props)
}
const onDragHandler10 =(data) =>{
if(data.x>80 && data.y < 120 && data.x <450){
onContentHandler10("ST")
} else if(data.x<80 && data.y < 200){
onContentHandler10("LW")
} else if(data.x > 450 && data.y < 200){
onContentHandler10("RW")
} else if(data.x>80 && data.y > 120 && data.y < 185 && data.x <450){
onContentHandler10("CF")
} else if(data.x>80 && data.y > 185 && data.y < 275 && data.x <450){
onContentHandler10("CAM")
} else if(data.x<80 && data.y > 200 && data.y < 440){
onContentHandler10("LM")
} else if(data.x > 450 && data.y > 200 && data.y < 440){
onContentHandler10("RM")
} else if(data.x>80 && data.y > 275 && data.y < 460 && data.x <450){
onContentHandler10("CM")
} else if(data.x<80 && data.y > 440){
onContentHandler10("LB")
} else if(data.x > 450 && data.y > 440){
onContentHandler10("RB")
} else if(data.x>80 && data.y > 460 && data.y < 560 && data.x <450){
onContentHandler10("CDM")
} else if(data.x>80 && data.y > 560 && data.x <450){
onContentHandler10("CB")
}
}
return(
<div className="formation">
<button onClick={onStatusHandler}>
{Status ? "편집" : "편집 완료"}
</button>
<Draggable
disabled={Status}
defaultPosition={{x: 145, y: 80}}
onDrag = {(e, data) => onDragHandler1(data)}
bounds = {{top: 0, left: 0, right: 520, bottom: 740}}
>
<div className="move">
<div>{Content1}</div>
</div>
</Draggable>
<Draggable
disabled={Status}
defaultPosition={{x: 380, y: 80}}
onDrag = {(e, data) => onDragHandler2(data)}
bounds = {{top: 0, left: 0, right: 520, bottom: 740}}
>
<div className="move">
<div>{Content2}</div>
</div>
</Draggable>
<Draggable
disabled={Status}
defaultPosition={{x: 25, y: 280}}
onDrag = {(e, data) => onDragHandler3(data)}
bounds = {{top: 0, left: 0, right: 520, bottom: 740}}
>
<div className="move">
<div>{Content3}</div>
</div>
</Draggable>
<Draggable
disabled={Status}
defaultPosition={{ x: 160, y: 360 }}
onDrag = {(e, data) => onDragHandler4(data)}
bounds = {{top: 0, left: 0, right: 520, bottom: 740}}
>
<div className="move">
<div>{Content4}</div>
</div>
</Draggable>
<Draggable
disabled={Status}
defaultPosition={{x: 350, y: 360}}
onDrag = {(e, data) => onDragHandler5(data)}
bounds = {{top: 0, left: 0, right: 520, bottom: 740}}
>
<div className="move">
<div>{Content5}</div>
</div>
</Draggable>
<Draggable
disabled={Status}
defaultPosition={{x: 500, y: 280}}
onDrag = {(e, data) => onDragHandler6(data)}
bounds = {{top: 0, left: 0, right: 520, bottom: 740}}
>
<div className="move">
<div>{Content6}</div>
</div>
</Draggable>
<Draggable
disabled={Status}
defaultPosition={{x: 30, y: 580}}
onDrag = {(e, data) => onDragHandler7(data)}
bounds = {{top: 0, left: 0, right: 520, bottom: 740}}
>
<div className="move">
<div>{Content7}</div>
</div>
</Draggable>
<Draggable
disabled={Status}
defaultPosition={{x: 160, y: 660}}
onDrag = {(e, data) => onDragHandler8(data)}
bounds = {{top: 0, left: 0, right: 520, bottom: 740}}
>
<div className="move">
<div>{Content8}</div>
</div>
</Draggable>
<Draggable
disabled={Status}
defaultPosition={{x: 350, y: 660}}
onDrag = {(e, data) => onDragHandler9(data)}
bounds = {{top: 0, left: 0, right: 520, bottom: 740}}
>
<div className="move">
<div>{Content9}</div>
</div>
</Draggable>
<Draggable
disabled={Status}
defaultPosition={{x: 485, y: 580}}
onDrag = {(e, data) => onDragHandler10(data)}
bounds = {{top: 0, left: 0, right: 520, bottom: 740}}
>
<div className="move">
<div>{Content10}</div>
</div>
</Draggable>
<Draggable
disabled={true}
defaultPosition={{x: 260, y: 790}}
>
<div className="GK">
<div>GK</div>
</div>
</Draggable>
</div>
)
}
export default Formation
Reference
この問題について(チームプロジェクト-バージョン実装2), 我々は、より多くの情報をここで見つけました https://velog.io/@qnrl3442/팀-프로젝트-포메이션판-구현-거의-완료テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol