网站首页  |   艺术资讯  |  拍卖展览  |  美术高考   |  设计广告  |  美术文粹  |  视觉创意   |   鉴藏投资  |   艺友录

艺术爱好者论坛's Archiver

肥田 发表于 2007-12-10 16:40

拼图游戏雏形--分割美女图

</script></div><SPAN class=bold>无聊的时候就来把美女分割![由讨厌原创==>无聊+乱整]</SPAN><BR><BR><DIV style="FONT-SIZE: 12px">能把一张图片分割成若干份,份数由输入数字自由决定。分割后自动随机打乱位置,可以拖到,拖到到正确位置自动吸附,并不允许再抛动。基本能算一个拼图游戏的雏形了吧。但整到这里就不想整了。能用右键加载自己的图片。以下是无聊的代码:<BR><DIV class=code>import&nbsp;flash.net.FileReference; <BR>import&nbsp;flash.display.BitmapData; <BR>import&nbsp;flash.geom.Matrix; <BR>///////////////////////////////// <BR>var&nbsp;img_bmp:BitmapData&nbsp;=&nbsp;new&nbsp;BitmapData(mc._width,&nbsp;mc._height); <BR>var&nbsp;txt_fmt:TextFormat&nbsp;=&nbsp;new&nbsp;TextFormat(); <BR>txt_fmt.color&nbsp;=&nbsp;0xff00ff; <BR>txt_fmt.size&nbsp;=&nbsp;22; <BR>txt_fmt.font&nbsp;=&nbsp;"华文新魏"; <BR>///////////////////// <BR>for&nbsp;(var&nbsp;d:Number&nbsp;=&nbsp;2;&nbsp;d>0;&nbsp;d--)&nbsp;{ <BR>this.createTextField("wh_txt"+d,&nbsp;9000+d,&nbsp;d*100,&nbsp;20,&nbsp;50,&nbsp;26); <BR>this["wh_txt"+d].setNewTextFormat(txt_fmt); <BR>this["wh_txt"+d].border&nbsp;=&nbsp;true; <BR>this["wh_txt"+d].input&nbsp;=&nbsp;true; <BR>this["wh_txt"+d].type&nbsp;=&nbsp;"input"; <BR>this["wh_txt"+d].maxChars&nbsp;=&nbsp;1; <BR>this["wh_txt"+d].restrict("0-9"); <BR>this["wh_txt"+d].background&nbsp;=&nbsp;true; <BR>this["wh_txt"+d].borderColor&nbsp;=&nbsp;0xff9900; <BR>this["wh_txt"+d].backgroundColor&nbsp;=&nbsp;0x33cccc; <BR>} <BR>Selection.setFocus("wh_txt1"); <BR>////////////////// <BR>wh_txt1.onChanged&nbsp;=&nbsp;wh_txt2.onChanged=function&nbsp;()&nbsp;{ <BR>if&nbsp;(wh_txt1.text&nbsp;==&nbsp;"")&nbsp;{ <BR>&nbsp;&nbsp;Selection.setFocus("wh_txt1"); <BR>}&nbsp;else&nbsp;if&nbsp;(wh_txt2.text&nbsp;==&nbsp;"")&nbsp;{ <BR>&nbsp;&nbsp;Selection.setFocus("wh_txt2"); <BR>}&nbsp;else&nbsp;{ <BR>&nbsp;&nbsp;fenge_func(wh_txt1.text,&nbsp;wh_txt2.text); <BR>} <BR>}; <BR>//////////////////////// <BR>var&nbsp;xwpos:Number&nbsp;=&nbsp;0; <BR>var&nbsp;yhpos:Number&nbsp;=&nbsp;0; <BR>function&nbsp;fuwei_func()&nbsp;{ <BR>for&nbsp;(var&nbsp;d:Number&nbsp;=&nbsp;xwpos-1;&nbsp;d>=0;&nbsp;d--)&nbsp;{ <BR>&nbsp;&nbsp;for&nbsp;(var&nbsp;c:Number&nbsp;=&nbsp;yhpos-1;&nbsp;c>=0;&nbsp;c--)&nbsp;{ <BR>&nbsp;&nbsp;&nbsp;this["pic_mc"+d+c].removeMovieClip(); <BR>&nbsp;&nbsp;} <BR>} <BR>} <BR>////// <BR>function&nbsp;fenge_func(xw:Number,&nbsp;yh:Number)&nbsp;{ <BR>fuwei_func(); <BR>xwpos&nbsp;=&nbsp;xw; <BR>yhpos&nbsp;=&nbsp;yh; <BR>img_bmp.draw(mc,&nbsp;new&nbsp;Matrix()); <BR>var&nbsp;xy_array:Array&nbsp;=&nbsp;new&nbsp;Array(); <BR>var&nbsp;b_num:Number&nbsp;=&nbsp;new&nbsp;Number(); <BR>//////////////// <BR>for&nbsp;(var&nbsp;d:Number&nbsp;=&nbsp;xw-1;&nbsp;d>=0;&nbsp;d--)&nbsp;{ <BR>&nbsp;&nbsp;for&nbsp;(var&nbsp;c:Number&nbsp;=&nbsp;yh-1;&nbsp;c>=0;&nbsp;c--)&nbsp;{ <BR>&nbsp;&nbsp;&nbsp;this.createEmptyMovieClip("pic_mc"+d+c,&nbsp;200+d+""+c); <BR>&nbsp;&nbsp;&nbsp;this["pic_mc"+d+c].lineStyle(1,&nbsp;0xfff000,&nbsp;100); <BR>&nbsp;&nbsp;&nbsp;this["pic_mc"+d+c].beginBitmapFill(img_bmp,&nbsp;new&nbsp;Matrix(),&nbsp;false); <BR>&nbsp;&nbsp;&nbsp;this["pic_mc"+d+c].moveTo(d*Stage.width/xw,&nbsp;c*Stage.height/yh); <BR>&nbsp;&nbsp;&nbsp;this["pic_mc"+d+c].lineTo((d+1)*Stage.width/xw,&nbsp;c*Stage.height/yh); <BR>&nbsp;&nbsp;&nbsp;this["pic_mc"+d+c].lineTo((d+1)*Stage.width/xw,&nbsp;(c+1)*Stage.height/yh); <BR>&nbsp;&nbsp;&nbsp;this["pic_mc"+d+c].lineTo(d*Stage.width/xw,&nbsp;(c+1)*Stage.height/yh); <BR>&nbsp;&nbsp;&nbsp;this["pic_mc"+d+c].lineTo(d*Stage.width/xw,&nbsp;c*Stage.height/yh); <BR>&nbsp;&nbsp;&nbsp;this["pic_mc"+d+c].endFill(); <BR>&nbsp;&nbsp;&nbsp;this["pic_mc"+d+c].obj&nbsp;=&nbsp;new&nbsp;Object(); <BR>&nbsp;&nbsp;&nbsp;this["pic_mc"+d+c].obj&nbsp;=&nbsp;this["pic_mc"+d+c].getBounds(_root); <BR>&nbsp;&nbsp;&nbsp;this["pic_mc"+d+c].xpos&nbsp;=&nbsp;this["pic_mc"+d+c].obj.xMin; <BR>&nbsp;&nbsp;&nbsp;this["pic_mc"+d+c].ypos&nbsp;=&nbsp;this["pic_mc"+d+c].obj.yMin; <BR>&nbsp;&nbsp;&nbsp;//////////////// <BR>&nbsp;&nbsp;&nbsp;var&nbsp;xy2_array:Array&nbsp;=&nbsp;new&nbsp;Array(); <BR>&nbsp;&nbsp;&nbsp;xy2_array.push(this["pic_mc"+d+c].obj.xMin,&nbsp;this["pic_mc"+d+c].obj.yMin); <BR>&nbsp;&nbsp;&nbsp;xy_array.push(xy2_array); <BR>&nbsp;&nbsp;&nbsp;this["pic_mc"+d+c].id&nbsp;=&nbsp;d+""+c; <BR>&nbsp;&nbsp;&nbsp;////////////////// <BR>&nbsp;&nbsp;&nbsp;this["pic_mc"+d+c].onPress&nbsp;=&nbsp;function()&nbsp;{ <BR>&nbsp;&nbsp;&nbsp;&nbsp;b_num&nbsp;=&nbsp;this.id; <BR>&nbsp;&nbsp;&nbsp;&nbsp;this.swapDepths(this._parent.getNextHighestDepth()); <BR>&nbsp;&nbsp;&nbsp;&nbsp;this.startDrag(); <BR>&nbsp;&nbsp;&nbsp;}; <BR>&nbsp;&nbsp;} <BR>} <BR>//////////////// <BR>for&nbsp;(var&nbsp;d:Number&nbsp;=&nbsp;xw-1;&nbsp;d>=0;&nbsp;d--)&nbsp;{ <BR>&nbsp;&nbsp;for&nbsp;(var&nbsp;c:Number&nbsp;=&nbsp;yh-1;&nbsp;c>=0;&nbsp;c--)&nbsp;{ <BR>&nbsp;&nbsp;&nbsp;num&nbsp;=&nbsp;Math.floor(Math.random()*xy_array.length); <BR>&nbsp;&nbsp;&nbsp;this["pic_mc"+d+c]._x&nbsp;=&nbsp;xy_array[num][0]-this["pic_mc"+d+c].xpos; <BR>&nbsp;&nbsp;&nbsp;this["pic_mc"+d+c]._y&nbsp;=&nbsp;xy_array[num][1]-this["pic_mc"+d+c].ypos; <BR>&nbsp;&nbsp;&nbsp;xy_array.splice(num,&nbsp;1); <BR>&nbsp;&nbsp;} <BR>} <BR>////////////////// <BR>onMouseUp&nbsp;=&nbsp;function&nbsp;()&nbsp;{ <BR>&nbsp;&nbsp;stopDrag(); <BR>&nbsp;&nbsp;if&nbsp;(this["pic_mc"+b_num].hitTest(this["pic_mc"+b_num].xpos+this["pic_mc"+b_num]._width/2,&nbsp;this["pic_mc"+b_num].ypos+this["pic_mc"+b_num]._height/2))&nbsp;{ <BR>&nbsp;&nbsp;&nbsp;this["pic_mc"+b_num]._x&nbsp;=&nbsp;0; <BR>&nbsp;&nbsp;&nbsp;this["pic_mc"+b_num]._y&nbsp;=&nbsp;0; <BR>&nbsp;&nbsp;&nbsp;this["pic_mc"+b_num].swapDepths(-this["pic_mc"+b_num].getDepth()); <BR>&nbsp;&nbsp;&nbsp;this["pic_mc"+b_num].enabled&nbsp;=&nbsp;false; <BR>&nbsp;&nbsp;} <BR>}; <BR>//////////// <BR>mc._visible&nbsp;=&nbsp;false; <BR>} <BR>///////////////////////////// <BR>var&nbsp;listener:Object&nbsp;=&nbsp;new&nbsp;Object(); <BR>//////// <BR>var&nbsp;loadpic:MovieClipLoader&nbsp;=&nbsp;new&nbsp;MovieClipLoader(); <BR>listener.onLoadInit&nbsp;=&nbsp;function(target:MovieClip)&nbsp;{ <BR>target._width&nbsp;=&nbsp;Stage.width; <BR>target._height&nbsp;=&nbsp;Stage.height; <BR>fuwei_func(); <BR>wh_txt1.text&nbsp;=&nbsp;""; <BR>wh_txt2.text&nbsp;=&nbsp;""; <BR>Selection.setFocus("wh_txt1"); <BR>}; <BR>loadpic.addListener(listener); <BR>///////////////// <BR>var&nbsp;fileRef:FileReference&nbsp;=&nbsp;new&nbsp;FileReference(); <BR>var&nbsp;allTypes:Array&nbsp;=&nbsp;[]; <BR>var&nbsp;浏览类型:Object&nbsp;=&nbsp;new&nbsp;Object(); <BR>浏览类型.description&nbsp;=&nbsp;"浏览类型(*.jpg)"; <BR>浏览类型.extension&nbsp;=&nbsp;"*.jpg"; <BR>allTypes.push(浏览类型); <BR>listener.onSelect&nbsp;=&nbsp;function(file:FileReference)&nbsp;{ <BR>loadpic.loadClip("/"+file.name,&nbsp;mc); <BR>}; <BR>fileRef.addListener(listener); <BR>///////////////////////// <BR>var&nbsp;pic_menu:ContextMenu&nbsp;=&nbsp;new&nbsp;ContextMenu(); <BR>function&nbsp;browse_func()&nbsp;{ <BR>fileRef.browse(allTypes); <BR>} <BR>pic_menu.hideBuiltInItems(); <BR>var&nbsp;loadpic_menu:ContextMenuItem&nbsp;=&nbsp;new&nbsp;ContextMenuItem("加载新图片",&nbsp;browse_func); <BR>pic_menu.customItems.push(loadpic_menu); <BR>_root.menu&nbsp;=&nbsp;pic_menu;</DIV><STRONG>swf. fla 下载:<IMG src="http://www2.flash8.net/x/webx/Images/file/rar.gif" border=0>&nbsp;</STRONG><A href="http://www2.flash8.net/UploadTeach/200705/20070520152207564.rar" target=_blank><STRONG><U><FONT color=#000000>分割图片.rar</FONT></U></STRONG></A></DIV>

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.