我想移动一定距离.但是在我的系统中存在惯性/拖动/负加速.我正在使用这样的简单计算:
v = oldV + ((targetV - oldV) * inertia)
Run Code Online (Sandbox Code Playgroud)
将其应用于多个帧会使运动"上升"或衰减,例如:
v = 10 + ((0 - 10) * 0.25) = 7.5 // velocity changes from 10 to 7.5 this frame
Run Code Online (Sandbox Code Playgroud)
所以我知道我想要旅行的距离和加速度,但不知道能让我到达那里的初始速度.也许一个更好的解释是我想知道有多难以击中一个台球,以便它停在某一点上.
我一直在研究运动方程(http://en.wikipedia.org/wiki/Equations_of_motion),但无法弄清楚我的问题的正确方法是什么......
有任何想法吗?谢谢 - 我来自设计而不是科学背景.
更新:Fiirhok拥有固定加速度值的解决方案; HTML + jQuery演示:
http://pastebin.com/ekDwCYvj
有没有办法用小数值或缓动函数做到这一点?根据我的经验,这样做的好处是固定加速度和基于帧的动画有时会超过最终点并需要强制,从而产生轻微的捕捉故障.
我已经使用以下代码制作了带圆角的C++ Builder XE表单
BorderStyle = bsNone;
void __fastcall TForm1::FormCreate(TObject *Sender)
{
HRGN frmrgn;
frmrgn = CreateRoundRectRgn (0, 0, ClientWidth, ClientHeight,12,12);
SetWindowRgn(Handle,frmrgn,true);
}
Run Code Online (Sandbox Code Playgroud)
它看起来很酷,但边框丢失,我尝试了很多东西,但没有得到好结果,所以请帮我绘制RGB颜色边框(96,96,96)
我希望整个表格可以拖动.
我为我的网站使用超大型jquery插件.它带有下一张和上一张幻灯片的按钮.我想实现拖动以更改其中的功能.如果有人单击并将鼠标移动到右侧,它应该作为下一个幻灯片按钮.
但是我怎么能用jquery呢?我怎么知道用户点击n向左/向右拖动
我有一个可以使用本机HTML5拖动的元素。它具有分配给它的dragstart,drag和dragend事件侦听器。此外,我还将keydown和keyup事件侦听器分配给document.body元素。
拖动可拖动元素时,ondrag事件将按预期触发。当我在不拖动任何东西的同时按下并释放任何键时,将触发document.body keydown / up事件。
但是,如果在执行ondrag时按下/按下,则不会触发document.body按下/按下事件。有什么解决方法/黑客吗?
我使用Qt,我想用鼠标移动一些对象.例如,用户单击对象并将此对象拖动到另一个窗口位置.我怎么能这样做?
我试过mouseMoveEvent:
void QDropLabel::mouseMoveEvent(QMouseEvent *ev)
{
this->move(ev->pos());
}
Run Code Online (Sandbox Code Playgroud)
但不幸的是,对象移动的方式很奇怪.它从一个地方跳到另一个地方.
QDropLabel继承了QLabel.它还给了一个像素图.我尝试用不同的对象来做,但结果是一样的.
我正在使用Raphael JS 2.0,并希望模拟另一个元素上拖动的结束,然后删除当前正在处理的元素.如果可以使用jquery完成,那也很棒.
像这样的东西:
var child = currentShift.data('endChild');
var newX = child.attr('x');
if (this !== currentShift)
{
newX = child.attr('x')-day;
}
currentShift.attr({y: child.attr('y'), x: newX, height: child.attr('height')});
$(currentShift.node).mouseup();
child.remove();
Run Code Online (Sandbox Code Playgroud)
我得到错误,因为子元素是this拖动的"移动"部分.但它被用来与之互动currentShift.
我知道还有一些其他方法可以获得类似的效果,但我想知道是否有某种方法可以模仿任意元素的拖拽结束.
我正在尝试创建一个按钮,当用户的触摸进入按钮的任何位置时触发动作(无论它们在内部触摸,还是从外部拖动到按钮内部).基本上,我需要创建一种方法,只要手指在按钮内部就触发动作.
"触摸拖动输入"结合"触摸内部"听起来就像它会完成工作,但它似乎与我需要的工作方式不同.
另外,我更喜欢它可以在故事板而不是硬代码(如touchesBegan/move)中完成,但如果没有其他方法可以.
我正在制作一个Android应用程序.我有一个场景.首先看下面的屏幕截图,所以任何人来这里回答都有一些清晰的画面,我想要的.
场景:活动在导航栏下面有一个地图,在中心有一个RelativeLayout(红色背景),在Red RelativeLayout下有一个ListView
我想要的是:我想拖动或重新定位(无论其他人使用什么术语)Red RelativeLayout通过我的手指按住它并在屏幕上上下移动以及下面的listview也应该随着这个布局移动
我试过的代码:
xml布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="@dimen/fifty_five_dp"
android:id="@+id/topBar"
android:background="@color/bg_color" >
<Button
android:id="@+id/button_menu"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="4dp"
android:background="@drawable/list_btn"
android:onClick="toggleMenu" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Watchover"
android:textColor="@android:color/white"
android:textSize="@dimen/eighteen_sp"
android:textStyle="bold" />
</RelativeLayout>
<!-- This is where fragment will show up -->
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/topBar"
android:id="@+id/root"
android:background="@android:color/white" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white" >
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/greenBarImage" />
<RelativeLayout
android:id="@+id/redLayout"
android:layout_width="match_parent"
android:layout_height="@dimen/forty_dp"
android:layout_centerVertical="true"
android:background="@color/btn_color" >
<TextView …Run Code Online (Sandbox Code Playgroud) 我目前正在使用具有可移动和可调整大小的视图的仪表板.我现在的问题是我想通过触摸手势调整视图大小.因此,我想到了一个Point,我将其添加到选择视图中,可以拖动它以调整所选视图的大小.这类似于Android主屏幕上的调整大小过程.
即使经过长时间的研究,我也无法想出如何覆盖另一个具有自己的DragListener的视图的解决方案.我可以想象将选定的视图和点放入一个ViewGroup并让Point覆盖View.有人有这个问题的经验吗?先感谢您.
我需要drag&drop在移动设备上添加事件,touchstart事件按预期触发,但没有明显的效果.
那么,是否有可能启动本机拖放事件touchstart或者您是否知道一个示例,例如with @HostListener,其中显示了如何处理此问题?
this.htmlElement.ontouchstart = (touchEvent: TouchEvent) => {
// here I check if user intend starting a drag&drop or if there are some other touch behaviours
if (dragging) {
// What to do here to start drag and drop
}
}
Run Code Online (Sandbox Code Playgroud)
提前感谢您的回复!