大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
单纯用.net的技术来做非常麻烦,涉及到了大量的GUI绘图工作,但这个偏偏还是基础。所以建议用WPF来处理,虽然也比较麻烦,但要比GUI容易理解的多。
公司主营业务:成都网站制作、做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出金门免费做网站回馈大家。
而原理实际上都是一样的。本质上都是图片的移动。只不过移动的那张图片有变化。
譬如你要做一个沿直线跑步的小人。在起始的位置画一个站立的人物图,然后将图片移动到下一个位置,并把图片换成迈出左腿并挥臂的图;再将图片移动一下,绘制收左腿迈右腿的图,一直下去。
说白了就是你需要将人物移动的动作分解,并在合适的位置上绘制出合适的图,分解的越细,动画的连贯性就越高。
其实就是制作动画,然后再把它用到游戏中
不是语言让图片动起来的,而是图片本身就能动,例如gif格式图片本身就是动画。如果你讲的是图片在网页上移动,而不是图片本身内容的动作,那么不是vb.net的功能必须用java脚本来实现。
***怎样让移动图像显示更快一些*** Hide Controls When Setting Properties to Avoid Multiple Repaints Every repaint is expensive. The fewer repaints Visual Basic must perform, the faster your application will appear. One way to reduce the number of repaints is to make controls invisible while you are manipulating them. For example, suppose you want to resize several list boxes in the Resize event for the form: Sub Form_Resize () Dim i As Integer, sHeight As Integer sHeight = ScaleHeight / 4 For i = 0 To 3 lstDisplay(i).Move 0, i * sHeight, _ ScaleWidth, sHeight Next End Sub This creates four separate repaints, one for each list box. You can reduce the number of repaints by placing all the list boxes within a picture box, and hiding the picture box before you move and size the list boxes. Then, when you make the picture box visible again, all of the list boxes are painted in a single pass: 在vb中用move方法移动图片时,速度有些慢,当图片很大时,这时可以用下面的方法: Sub Form_Resize () Dim i As Integer, sHeight As Integer picContainer.Visible = False picContainer.Move 0, 0, ScaleWidth, ScaleHeight sHeight = ScaleHeight / 4 For i = 0 To 3 lstDisplay(i).Move 0, i * sHeight, _ ScaleWidth, sHeight Next picContainer.Visible = True End Sub Note that this example uses the Move method instead of setting the Top and Left properties. The Move method sets both properties in a single operation, saving additional repaints.
给你提供一个思路,
你既然知道BITBLT,基础不会太差的,我就简单明了的说下.
从你的问题看,最简单的方法,其实只需要一个picturebox.
然后定义一个4*3的Image数组img(3,2).横4纵3.
img(0,0)装入第一张图片,
img(1,0)装入第二张图片,
img(3,0)不使用.
以此类推,img(3,1)也不使用,
####但是,img(3,2)虽然不装入图片,
####其功能却和你思路中的"没图片的picturebox"相同.
我们可以定义两个变量x
,
y
As
Integer
初始的时候x=3,y=2,应该看出来了吧?这两个变量用来保存空白image的位置,方便你移动图片.
有了这种结构,剩下的工作就很简单了.
写一个方法来处理按键消息.例如:
如果此时x=1,y=1,用户按下了"上键",那么img(x,y)和Image(x,y-1)交换.然后y=y-1
如果此时x=1,y=1,用户按下了"左键",那么img(x,y)和image(x-1,y)交换.然后x=x-1
其实就是移动空白位置的方法.但是要注意,img(3,0),img(3,1),img(3,2)这三个特殊位置要做特殊处理.
最后,写个for循环,把img数组显示到picturebox上面就可以了.
很简单吧?不知道我说得是否清楚?
希望对你有所帮助.
窗体加一个timer,interval置为50,然后在timer事件中更改图片的left和height就可以了。如
image1.left=image1.left+20
image1.height=image1.height+20