当前位置:首页 » 网页前端 » 图形拖拽脚本
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

图形拖拽脚本

发布时间: 2022-07-03 16:03:58

⑴ 在windows模式下,用c#编程实现UI图形拖拽,生成编程语言的代码,有没有案例推荐下。可以拖拽方法,控制流

大部分IDE的开发环境都支持。比如你用VS C#.net就可以,或是套装产品,VS 2008/2010等。
组件通过拖拽就可以应用、对于类的设计可以创建类图实现,VS 2010还支持UML的应用。我也尝试过,但没搞明白,感觉不灵。
另一个选择,使用第三方的UML工具也可以实现您提到的功能。比如BORLAND公司对软件生产周期的管理,支持像VS这样的工具。这个应用之前我尝试过,从需求开始,设计等图形化的内容可以直接生成基本代码,也支持双向的同步。文档也可以自动生成。当然,这些都有建议在规范的基础上。整个应用环境的实施和标准工作规模比较大、成本高,适合专业的软件开发团队。

⑵ 在C#中图形的拖拽

你可以通过Graphics来实现
关于拖拽的问题,
1、你可以使用自己设计的算法来实现基本的拖拽效果
2、你可以Graphics来实现图形的动态变化

⑶ 如何在固定区域内对图片进行拖拽操作

web里用javascript来做,网上有现成的封装好的脚本库(google一下drag-drop-dom)可以直接将div初始化为drag-drop-div
自己写也行,思路就是对鼠标的事件判断,然后层定位.
位置记录要持久化的话就采用ajax来做

⑷ unity3D中如何实现用脚本创建出的模型能够用鼠标拖拽

不太清楚你的意思。如果是在编辑器模式下的下直接拖到模型就行了。
如果实在运行模式下,那么给实例物体绑定脚本是必须的。因为你获取鼠标的位置是在继承自MonoBehaviour 的脚本中获取的,而这个脚本必须拖到物体上才能执行。
如果你不想编辑时就把这个脚本拖上物体,你可以用AddCommpent()方法在运行时动态添加对应脚本,完了后用Destroy()方法删除

⑸ 我想写个unity3D C#脚本用鼠标拖动物体,该怎么办呀,

1.新建工程,创建测试物体并赋予材质。

⑹ unity3d我想把物体拖拽到脚本里为什么不行呢如图

声明的时候带public(公开)才可以
比如
public Transform m_transform;

⑺ web系统中实现图形拖拽的功能,怎么做

document.onmousemove=function(e){
if(isDraging===true){
var nowX=e.pageX-startX;
var nowY=e.pageY-startY;
oDrag.style.left=nowX+'px';
oDrag.style.top=nowY+'px';
return false; //重新触发
}
}

addEventListener 有兼容问题 换document.onmousemove这种形式也可以 自己试下问题不大

⑻ FLASH一张图片二个功能制作鼠标拖动和旋转

把图片转换为元件 设置实例名为mc
在帧上加代码如下

mc.onPress = function() {
this.onEnterFrame = function() {
startDrag(this,false);
this._rotation += 45;
};
};
mc.onRelease = function() {
delete this.onEnterFrame;
};
鼠标按下 拖动并旋转
鼠标释放 停止

你要的是拖动 点击旋转 改下触发事件就可以了
把你画好的图形转换成元件后在上面加代码:
on (press) {
startDrag(this,false)
}
on (release) {
stopDrag()
this._rotation+=25
}
然后在场景复制几个就可以了
鼠标按下拖动 鼠标松开(点击)停止拖动 每点击一次旋转25度 度数你可以自己改

⑼ Windows编程怎么把用GDI绘制好的图形进行拖拽操作

1)处理WM_LBUTTONDOWN消息,获取当然鼠标坐标
2)判断鼠标坐标,如果落在矩形内部,拖动激活标志置1(用一个全局变量或WndProc局部静态变量来实现)
3)处理WM_MOUSEMOVE消息,获取新的鼠标坐标,如果拖动激活标志为1,那么就在新的鼠标位置重新绘制矩形
4)处理WM_LBUTTONUP消息,拖动激活标志置0
大致就这样了,细节地方自己研究。

⑽ unity3D中实现方块能被鼠标拖动的C#脚本

这是目前我看到的最精简的,仅一个事件完成拖拽.

/*
* 用到了unity3d非常好的协同机制实现这一点,OnMouseDown事件表示鼠标已作了射线判断得到了对象。
* 拖拽时保持z轴不变,因为屏幕是xy二维的,空间是三维的。
* */
IEnumerator OnMouseDown ()
{

var camera = Camera.mainCamera;
if (camera) {
//转换对象到当前屏幕位置
Vector3 screenPosition = camera.WorldToScreenPoint (transform.position);

//鼠标屏幕坐标
Vector3 mScreenPosition=new Vector3 (Input.mousePosition.x, Input.mousePosition.y, screenPosition.z);
//获得鼠标和对象之间的偏移量,拖拽时相机应该保持不动
Vector3 offset = transform.position - camera.ScreenToWorldPoint( mScreenPosition);
print ("drag starting:"+transform.name);

//若鼠标左键一直按着则循环继续
while (Input.GetMouseButton (0)) {

//鼠标屏幕上新位置
mScreenPosition = new Vector3 (Input.mousePosition.x, Input.mousePosition.y, screenPosition.z);

// 对象新坐标
transform.position=offset + camera.ScreenToWorldPoint (mScreenPosition);

//协同,等待下一帧继续
yield return new WaitForFixedUpdate ();
}

print ("drag compeleted");

}
}

---------------------------分割线

下面是unity自带的,在Scripts资源包里有拖拽代码,这个拖拽物体必须附加Rigidbody刚体组件。
DragRigidbody.js

var spring = 50.0;
var damper = 5.0;
var drag = 10.0;
var angularDrag = 5.0;
var distance = 0.2;
var attachToCenterOfMass = false;

private var springJoint : SpringJoint;

function Update ()
{
// Make sure the user pressed the mouse down
if (!Input.GetMouseButtonDown (0))
return;

var mainCamera = FindCamera();

// We need to actually hit an object
var hit : RaycastHit;
if (!Physics.Raycast(mainCamera.ScreenPointToRay(Input.mousePosition), hit, 100))
return;
// We need to hit a rigidbody that is not kinematic
if (!hit.rigidbody || hit.rigidbody.isKinematic)
return;

if (!springJoint)
{
var go = new GameObject("Rigidbody dragger");
var body : Rigidbody = go.AddComponent ("Rigidbody") as Rigidbody;
springJoint = go.AddComponent ("SpringJoint");
body.isKinematic = true;
}

springJoint.transform.position = hit.point;
if (attachToCenterOfMass)
{
var anchor = transform.TransformDirection(hit.rigidbody.centerOfMass) + hit.rigidbody.transform.position;
anchor = springJoint.transform.InverseTransformPoint(anchor);
springJoint.anchor = anchor;
}
else
{
springJoint.anchor = Vector3.zero;
}

springJoint.spring = spring;
springJoint.damper = damper;
springJoint.maxDistance = distance;
springJoint.connectedBody = hit.rigidbody;

StartCoroutine ("DragObject", hit.distance);
}

function DragObject (distance : float)
{
var oldDrag = springJoint.connectedBody.drag;
var oldAngularDrag = springJoint.connectedBody.angularDrag;
springJoint.connectedBody.drag = drag;
springJoint.connectedBody.angularDrag = angularDrag;
var mainCamera = FindCamera();
while (Input.GetMouseButton (0))
{
var ray = mainCamera.ScreenPointToRay (Input.mousePosition);
springJoint.transform.position = ray.GetPoint(distance);
yield;
}
if (springJoint.connectedBody)
{
springJoint.connectedBody.drag = oldDrag;
springJoint.connectedBody.angularDrag = oldAngularDrag;
springJoint.connectedBody = null;
}
}

function FindCamera ()
{
if (camera)
return camera;
else
return Camera.main;
}