本文整理汇总了C#中InputHandler.LeftMouseDraggedBy方法的典型用法代码示例。如果您正苦于以下问题:C# InputHandler.LeftMouseDraggedBy方法的具体用法?C# InputHandler.LeftMouseDraggedBy怎么用?C# InputHandler.LeftMouseDraggedBy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类InputHandler
的用法示例。
在下文中一共展示了InputHandler.LeftMouseDraggedBy方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Update
public override void Update(InputHandler handler)
{
this.height = GetWidth();
if (editing)
{
point.SetX(this.GetX() + this.GetWidth());
point.SetY(this.GetY());
if(handler.CheckLeftMouseJustPressed() && handler.CheckMouseIn(point))
{
dragging = true;
original = point.GetPoint();
oRadius = GetRadius();
}
if(handler.CheckLeftMouseJustReleased())
{
dragging = false;
}
else
if(dragging)
{
point.SetX(original.X + handler.LeftMouseDraggedBy().X);
this.SetRadius(oRadius + handler.LeftMouseDraggedBy().X);
}
}
}
示例2: Update
public void Update(InputHandler handler, int x, int y)
{
if (!neverEditAgain)
{
if (handler.CheckJustPressedKey(Keys.H))
{
showMode = !showMode;
}
if (handler.CheckLeftMouseJustPressed())
{
if (handler.CheckMouseIn(c.ScalePosition(start)))
{
dragPointC = true;
original = c.GetPoint();
}
else
if (handler.CheckMouseIn(b.ScalePosition(start)))
{
dragPointB = true;
original = b.GetPoint();
}
else
if (handler.CheckMouseIn(a.ScalePosition(start)))
{
dragPointA = true;
original = a.GetPoint();
}
}
else
if (handler.CheckLeftMouseJustReleased())
{
dragPointA = dragPointB = dragPointC = false;
}
if (dragPointA)
{
a.SetPoint(original + handler.LeftMouseDraggedBy());
}
else
if (dragPointB)
{
b.SetPoint(original + handler.LeftMouseDraggedBy());
}
else
if (dragPointC)
{
c.SetPoint(original + handler.LeftMouseDraggedBy());
}
}
start.X = x;
start.Y = y;
}
示例3: UpdateSuggestions
private void UpdateSuggestions(InputHandler handler)
{
if (draggedElement != null) return;
if(handler.CheckLeftMouseJustPressed())
foreach(LooseDragDropLink link in suggestions)
{
if(handler.CheckMouseIn(link))
{
suggestedElement = link;
break;
}
}
if (handler.CheckLeftMouseJustReleased())
{
suggestedElement = null;
}
if(suggestedElement != null)
if (!(handler.LeftMouseDraggedBy().X == 0 && handler.LeftMouseDraggedBy().Y == 0))
{
elements.Add(new LooseDragDropLink(suggestedElement.GetElement().Clone()));
draggedElement = elements[elements.Count - 1];
Point XY = handler.GetMouseXY();
originalPoint = XY;
elements[elements.Count - 1].SetPoint(ref XY);
}
}
示例4: UpdateElements
private void UpdateElements(InputHandler handler)
{
if (draggedElement == null)
{
#region If Mouse Pressed
if (handler.CheckLeftMouseJustPressed())
{
#region Check if an Element was Clicked
for (int i = 0;i < elements.Count; i++)
{
var element = elements[elements.Count - i - 1];
if (handler.CheckMouseIn(element))
{
#region Set as Dragged Object
draggedElement = element;
originalPoint = element.GetPoint();
elements.Remove(element);
elements.Add(element);
#endregion
break;
}
}
#endregion
}
#endregion
}
else
{
if (dragging)
{
if (handler.CheckLeftMouseJustReleased())
{
//Just in case stuff needs to be done.
#region Release Dragged Object
UpdateInteraction(handler);
if (draggedElement != null && draggedElement.GetX() < widthOfMenu)
{
RemoveElement(draggedElement);
}
draggedElement = null;
dragging = false;
#endregion
}
else
{
#region Set the X and Y of the Dragged Object
draggedElement.SetX(originalPoint.X + handler.LeftMouseDraggedBy().X);
draggedElement.SetY(originalPoint.Y + handler.LeftMouseDraggedBy().Y);
#endregion
}
}
else
{
#region Detect if Dragged Piece was actually moved.
if (!(handler.LeftMouseDraggedBy().X == 0 && handler.LeftMouseDraggedBy().Y == 0))
{
dragging = true;
#region Removes the element from a slot.
if (draggedElement.GetElement() is DragDropVariablePlaceholder)
{
if (((DragDropVariablePlaceholder)draggedElement.GetElement()).HasVariable())
{
elements.Add(((DragDropVariablePlaceholder)draggedElement.GetElement()).PopVariable());
draggedElement = elements[elements.Count - 1];
originalPoint = handler.GetMouseXY();
}
}
#endregion
else
#region Removes the element from a slot that is contained in another piece
if (draggedElement.GetElement().GetTopInteracting(handler) is DragDropVariablePlaceholder)
{
DragDropVariablePlaceholder slot = (DragDropVariablePlaceholder)((DragDropVariablePlaceholder)draggedElement.GetElement().GetTopInteracting(handler)).GetInnerMostDragDrop(handler);
if ((slot).HasVariable())
{
elements.Add((slot).PopVariable());
draggedElement = elements[elements.Count - 1];
originalPoint = handler.GetMouseXY();
}
}
#endregion
}
#endregion
else
#region If the piece is released, select it.
if (handler.CheckLeftMouseJustReleased())
{
if (selectedElement != null && selectedElement != draggedElement) selectedElement.GetElement().TellSelected(false);
draggedElement.GetElement().GetInteracting(handler).TellSelected(true);
selectedElement = draggedElement;
draggedElement = null;
}
#endregion
}
//.........这里部分代码省略.........
示例5: Update
//.........这里部分代码省略.........
if (handler.CheckRightMouseJustPressed())
if (!modifyingOne && couldDrag != null && !dragging)
{
objects.Remove(couldDrag);
couldDrag = null;
}
if (handler.CheckLeftMouseJustReleased())
{
draggingColor = 0;
if (dragged != null)
{
dragged.SetEditing(!hideEditing);
dragging = false;
dragged = null;
couldDrag = null;
original = Point.Zero;
}
}
if (draggingColor != 0 && colorize != null)
{
Point n = handler.GetMouseXY();
original = new Point(originX, originY);
n -= original;
if (n.X >= 130)
{
n.X = 130;
}
if (n.Y >= 130)
{
n.Y = 130;
}
if (n.Y <= -130)
{
n.Y = -130;
}
if (n.X <= -130)
{
n.X = -130;
}
if (draggingColor == 1)
{
//r
r.SetPoint(original + n);
}
else
if (draggingColor == 2)
{
//g
g.SetPoint(original + n);
}
else
{
//b
b.SetPoint(original + n);
}
int rc = (int)Math.Sqrt((r.GetX() - originX) * (r.GetX() - originX) + (r.GetY() - originY) * (r.GetY() - originY));
int gc = (int)Math.Sqrt((g.GetX() - originX) * (g.GetX() - originX) + (g.GetY() - originY) * (g.GetY() - originY));
int bc = (int)Math.Sqrt((b.GetX() - originX) * (b.GetX() - originX) + (b.GetY() - originY) * (b.GetY() - originY));
colorize.SetColor(new Color(rc, gc, bc));
}
else
if (dragging)
{
dragged.SetPoint(original + handler.LeftMouseDraggedBy());
}
if (handler.CheckJustPressedKey(Keys.R))
{
LevelRectangle n = new LevelRectangle(300, 10, 100, 100);
n.SetBorderColor(Color.Black);
objects.Add(n);
}
if (handler.CheckJustPressedKey(Keys.P))
{
LevelRectangle n = new LevelPerson(300, 10, 100, 100, "X");
n.SetBorderColor(Color.Black);
objects.Add(n);
}
} catch(Exception ex)
{
Logger.WriteLine(ex.ToString());
fileMode = 0;
}
}
示例6: Update
//.........这里部分代码省略.........
lleft.LoadFrame(ff);
}
if (handler.CheckPressedKey(Keys.LeftShift) || handler.CheckPressedKey(Keys.RightShift))
{
if (handler.CheckPressedKey(Keys.Down))
{
testingRectangle.ModifyHeight(SPEED);
}
if (handler.CheckPressedKey(Keys.Up))
{
testingRectangle.ModifyHeight(-SPEED);
}
if (handler.CheckPressedKey(Keys.Left))
{
testingRectangle.ModifyWidth(-SPEED);
}
if (handler.CheckPressedKey(Keys.Right))
{
testingRectangle.ModifyWidth(SPEED);
}
}
else
{
if (handler.CheckPressedKey(Keys.Down))
{
testingRectangle.ModifyY(SPEED);
}
if (handler.CheckPressedKey(Keys.Up))
{
testingRectangle.ModifyY(-SPEED);
}
if (handler.CheckPressedKey(Keys.Left))
{
testingRectangle.ModifyX(-SPEED);
}
if (handler.CheckPressedKey(Keys.Right))
{
testingRectangle.ModifyX(SPEED);
}
}
#region Check if the mouse is in the body.
if (dragBody)
if (handler.CheckMouseIn(testingRectangle))
{
if (handler.CheckLeftMousePressed())
{
if (!dragging && handler.LeftMouseDraggedBy().X == 0 && handler.LeftMouseDraggedBy().Y == 0)
{
this.originalPoint = testingRectangle.GetPoint();
if (mode) this.originalPoint = testingRectangle.GetSize();
dragging = true;
}
}
else
{
color = Color.Red;
dragging = false;
}
}
else
{
color = Color.DarkGray;
}
if (dragging)
{
color = Color.DarkRed;
Point fix = originalPoint + handler.LeftMouseDraggedBy();
if (mode)
{
testingRectangle.SetSize(ref fix);
}
else
{
testingRectangle.SetPoint(ref fix);
}
}
#endregion
blink++;
} catch (Exception ex)
{
Logger.WriteLine(ex.ToString());
fileMode = 0;
}
}