1.用c#怎么将分割成3*3个小可以拖拽
2.求高手制作拼图,拖拽拖拽,拼图拼图,源码源码万分感谢
3.Unity的拖拽拖拽拖拽与摆放问题(实现简易拼图小游戏)
4.如何使用WM_MOUSEMOVE实现拖拽
5.Leafer 开发小游戏-拼图游戏
用c#怎么将分割成3*3个小可以拖拽
我写了一个你看看效果如何大概思路:
打开一张,缩放大小为*(当然,拼图拼图大小可以自己定),源码源码寻亲源码显示在左边
然后裁剪成九张(3*3),拖拽拖拽显示在右边
当鼠标按住右边九张小其中一张并移动鼠标时,拼图拼图也跟着移动。源码源码
上图的拖拽拖拽效果为将的左下角与右上角对换,右下角跟左上角对换。拼图拼图
求高手制作拼图,源码源码,拖拽拖拽,拼图拼图特效代码源码万分感谢
因不知道你的源码源码具体目标,所以没法帮你弄。
如果是制作成礼物的可以到专业的网址查询一下,或者自己制作。
方法参考如下
网上转的,用FLASH:
可能有很多玩Flash的朋友都曾和我一样想自己动手制作一个拼图游戏,但是苦于不知道实现的方法或不了解ActionScript(以下简称AS)而心存遗憾。别急,今天盗匪就告诉你如何利用Flash常用的AS制作一个简单的拼图游戏,我所说的简单可不是将简单的拼凑到一起的那种简单拼图啊。
做好的成品如下:大家可以用鼠标将上面的图像碎片拖到下面的方框内的合适位置,为方便大家找位,游戏给出了有一定透明度的原图作为参考。大家可以发现这个游戏还设计了一个“吸附”功能,漂亮的发卡源码能够让你将拼轻松地整齐排列,同时游戏还会自动判断拼图是否全部正确完成。
SWF成品(下载请点击右键选择“目标另存为”)
制作步骤:
第一步:的准备工作
既然是拼图,当然首先就要有了,我找到的是一幅*象素的jpg,通过Fireworks将其切割成块(每块*px),然后分别保存成个jpg小备用,名称最好有一定规律,比如我将他们分别命名为pic1~pic,当然你也可以利用其他图象处理工具来实现这一步。
第二步:建立Flash文件
打开今天的主角――Flash,通过菜单Modify Document...或Ctrl+J打开Document Properties面板(由于盗匪使用的是Flash MX,一些快捷键可能与Flash 5的有所不同,不过盗匪会尽量给出Flash 5中相应的快捷键的,这个在Flash 5中的快捷键是Ctrl+M),将画面大小改为*px,其他可以保持默认值。
第三步:制作用来判断位置的Movie Clip
在场景中通过菜单File Import或Ctrl+R导入块已经处理好的小,然后按照原图顺序摆放在场景的下半部,选中左上角第一块,选择菜单Insert Convert to Symbol或按F8键,在弹出的Convert to symbol面板中选择Movie Clip(以后简称MC),控制点选择在中心(这一点很重要,Flash 5中可能没有这个选项,不过好在Flash 5的默认值就是中心),name为check1(也可以根据自己的习惯取名),其余的用同样的方法处理。
然后选择菜单Window Properties或Ctrl+F3,打开Properties面板,按顺序为这些分别填写Instance Name为b1~b,以便以后在Action中调用.选中所有MC(Ctrl+A),将他们的Alpha属性设置为%,这样做只是为了使MC看上去模糊,让玩家不能清楚地辨认出是哪部分,以增大游戏难度。
第四步:制作用来拖拽的MC
这是比较重要的一步,我们将利用这个MC来实现图块的拖拽以及位置的判断,在这里我们运用了MC中嵌套Button的方法以实现代码重用,这是个很重要的方法,希望大家加以重视.
选择菜单Insert New Symbol...或Ctrl+F8新建Button(以下简称BT),取名为button_body,确定后进入编辑界面,在Timeline(时间线)中右键单击Hit帧,在快捷菜单中选择New Keyframe建立关键帧 ,选择矩形工具(R),绘制一个矩形,选择选取工具 (V),双击矩形,在Properties面板中将宽、高、X坐标、Y坐标分别设置为、洗盘拉升源码、0、0;新建MC 取名button_action,确定后进入MC编辑窗口,Ctrl+L打开Library(库),将刚刚建立的button_body拖进来,同样将X、Y坐标设置为(0,0).
下面开始为BT(按钮)添加AS,选中刚才拖进来的button_body,通过菜单Window Actions或F9键(Flash 5中为Ctrl+Alt+A)打开Actions面板,利用快捷键Ctrl+Shift+E(Flash 5 中为Ctrl+E,前提是选中了Actions面板)转换到Expert Mode(专家模式,这个模式下编写AS比较灵活,建议使用),填入下面的代码:
on (press) { //按下鼠标
startDrag(_parent, false, , , , );//使图块可以在一定范围内被拖拽
}
on (release) { //释放鼠标
stopDrag();//停止拖拽
for (i=1; i <=; i++) { //判断图块所在位置
if (_parent._x <=eval("_root.b"+i)._x+ and _parent._x> =eval("_root.b"+i)._x- and
_parent._y <=eval("_root.b"+i)._y+ and _parent._y> =eval("_root.b"+i)._y-) {
//如果被拖拽的图块中心点进入某个判断位置的MC的范围内时
_parent._x = eval("_root.b"+i)._x;//设置图块的坐标,使其吸附到相应的位置
_parent._y = eval("_root.b"+i)._y;
}
}
}
这样,拖拽组件button_action就制作好了,在下面的制作中将重复用到这个MC.
第五步:制作被拖拽的图块
新建MC,命名为pic1(这个名称无关紧要),确定后进入编辑窗口,在Library中将button_action拖入,设置坐标为(0,0),再从Library中将最初导入的pic1.jpg拖入,坐标(0,0),重复这个步骤,直到所有图块都拥有自己相应的MC.
顺便再做一个按钮,命名为button_back,用来在游戏完成后开始新的游戏.
第六步:游戏的完成工作
回到场景中,将TimeLine中已存在的层命名为"位置判断层",点击TimeLine左下角的Insert Layer按钮 ,新建三个层,分别命名为"图块层"、"AS层"和"按钮与提示层".选择"图块层",将Library中的pic1~pic这几个MC拖入该层。特别注意:这里是MC,而不是,我们可以按住Ctrl键同时选择不连续的多个Symbol。按顺序在Properties面板中分别填写Instance Name为p1~p。
选择"按钮与提示层",将第二帧设为关键帧(如果你使用的是flash 5请选择第四帧,并顺便用F5将"图块层"添加两帧内容帧),并在Properties面板(flash 5中为Frame面板)中填写Frame Label为"over",选择文字工具(A),在中间位置写入胜利后的提示,如:"Good You Win !!",再拖入button_back到合适位置,并捆绑AS:
on(release){
prevFrame();//回到前一帧,开始新游戏
//Flash 5中应该是gotoAndPlay(1)
}
现在进入冲刺阶段,选择"AS层",选择第一帧,捆绑AS:
stop();//flash 5中请将这句去掉
for (i=1; i <=; i++) { //游戏初始化
eval("p"+i)._x = random()+;//随即设置图块的位置于场景上半部的一定区域内
eval("p"+i)._y = random()+;
}
_root.onEnterFrame = function() {
//flash 5中请去掉这句和最后一个"}",将下面的AS捆绑到该层的第二帧,并在第三帧捆绑gotoAnfPlay(2)
b = 0;
for (j=1; j <=; j++) {
if (eval("p"+j)._x == eval("b"+j)._x and eval("p"+j)._y == eval("b"+j)._y) {
//判断图块是否在正确的位置上,如果是
b += 1;//变量加一
}
}
if (b == ) { //如果所有图块的位置都正确
gotoAndStop("over");//显示胜利信息
}
};
Unity的拖拽与摆放问题(实现简易拼图小游戏)
首先展示效果,视频中可以看到可以被拖动,并自动吸附至白色方框内,同时若目标区域内已有,绝版手游源码可实现互换位置。实现此效果的步骤如下:
新建项目,创建名为BG的Panel作为背景,下设名为PicBg的image组件用于摆放,并添加GridLayoutGroup组件。圈出的部分代表每个方块的大小。
接着,创建一个Prefab作为摆放的载体。此Prefab包含按钮和,通过识别鼠标所在父亲的位置进行判断,实现逻辑较为复杂,具体实现方式将在后续步骤中详解。
复制9个Prefab,统一命名为Slot,并通过GridLayoutGroup调整它们的位置。为使PicBg大小适合放置9个Slot,PicBg的大小应调整为*。
在PicBg下方创建摆放的位置,并统一大小为。最终效果如图所示。
核心部分实现如下:引入UnityEngine.EventSystems库,利用IBeginDragHandler、IDragHandler、IEndDragHandler接口。实现鼠标点击时,跟随鼠标移动,并变更父节点以避免遮挡,不拖动时恢复原状态。
接下来是位置互换实现。通过创建三层关系:->Item->Slot。确定目标位置和初始位置后,交换在各自父亲节点的位置,从而实现互换。具体代码实现和逻辑说明见代码注释。
脚本挂载于上,结合Canvas Group组件用于识别下方元素类型,实现不同效果。至此,简单拼图小游戏完成。
如何使用WM_MOUSEMOVE实现拖拽
没做过拖拽的程序,但我想,WM_MOUSEMOVE是检测鼠标移动的,那你得首先得到焦点吧?然后你依靠这个消息来移动,好像不太现实,刷新的过来吗?好像有函数是支持拖动的,可以去查一下
Leafer 开发小游戏-拼图游戏
欢迎使用 Leafer 创建简单的拼图游戏。本教程将引导你通过实现思路、步骤讲解与代码演示,轻松上手使用 Leafer 编写游戏,即使你未曾接触过 Leafer。
拼图游戏的核心逻辑包括:
- **创建拼图容器**:使用 Leafer 的 App 结构初始化游戏环境。
- **拆分图像**:将大图切割为小块,利用 Leafer 的 Canvas API 实现。
- **标记并打乱图像块**:为每块拼图标记正确的顺序,增加游戏互动性。
- **拖拽与交互**:实现拖拽功能,确保用户只能在相邻方块间交换。
- **检查排序**:通过比较每个方块的正常顺序序号与当前位置序号,确保拼图完成。
在实现拼图游戏时,我们使用了 Leafer 的以下功能:
- **Box**:自动处理边界检测,简化容器范围内的边界检测逻辑。
- **clip 模式**:通过设置 fill 属性为 'clip' 实现裁剪。
- **data 属性**:存储自定义数据,用于标记并打乱图像块。
- **DragEvent**:监听拖拽事件,实现交互性。
整个拼图游戏开发流程清晰,只需关注游戏逻辑,无需过多关注底层实现。完整代码已开源至 Github,感兴趣的朋友可自行克隆查阅。此教程重点在于提供直观、易于理解的实现步骤,帮助你快速上手拼图游戏开发。
2024-12-26 14:22114人浏览
2024-12-26 14:09917人浏览
2024-12-26 13:551897人浏览
2024-12-26 12:542117人浏览
2024-12-26 12:25357人浏览
2024-12-26 12:05617人浏览
據參考消息網援引外媒11月26日報道,烏克蘭與俄羅斯軍隊展開了曠日持久的鬥爭,對於烏克蘭在此過程中所需要的東西,大部分關注點集中在軍事硬件上:坦克、戰鬥機、導彈、防空導彈發射裝置、大炮以及數量龐大的彈
前SBL球星、「宜中三劍客」之一的王男桂,昨26)日遭遇國1南向106.4公里處追撞事故,傷重不治,享年39歲。許多球迷朋友相當不捨,紛紛到他的臉書留言「R.I.P.」,球界人士也相繼在個人社群上為王
1.通达信【神奇止损】主指标源码2.真正实用的通达信技术指标在这里,分型顶底+妖股来了,附带源码3.通达信见过最好用的精品逃顶指标 逃顶非常有用源码4.手机版通达信指标精选更新:副图--“主力吸筹”源