⑴ 在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;
}