Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Flimrande rörelse

Postades av 2002-12-21 17:09:48 - Michael Dahlander, i forum spel/grafik, Tråden har 6 Kommentarer och lästs av 1186 personer

Hej!

Första frågan. Vilket sätt är bäst (snabbast snyggast, enklast) att förflytta ett klot över formuläret, med Circle eller med ett objekt (shape t ex)? (eller finns det något annat sätt?)

Andra frågan. Hur får man bort flimret när klotet förflyttar sig? Tror ni förstår vad jag menar.

mvh
/Michael


Svara

Sv: Flimrande rörelse

Postades av 2002-12-21 17:31:20 - Niklas Jansson

>Vilket sätt är bäst
Det beror helt på situationen.
Rör det sig om en enkel animation så är det nog bäst med en shape. Det är lättast.
Vill du ha aningens mer kontroll använder du circle-metoden.

Ska du ha många cirklar som dessutom har vissa andra egenskaper är det nog bäst att göra egna klasser.

>Hur får man bort flimret när klotet förflyttar sig?
Använd BitBlit. Sök i forumet eller kolla i filarean.

/Niklas Jansson


Svara

Sv: Flimrande rörelse

Postades av 2002-12-21 22:12:20 - Andreas Hillqvist

Du kan använda en picturebox som buffer. Ritning alla objekt. Sedan visa den för användaren med PaintPicture:

Här är ett litet exempel:
<code>
Option Explicit

Private Type MyCircle
X As Single
Y As Single
Radius As Single
CX As Single
CY As Single
End Type

Private Circles() As MyCircle

Private Sub Form_Load()
Dim Index As Long
ReDim Circles(4)
For Index = 0 To 4
Randomize
With Circles(Index)
.X = Rnd * Picture1.ScaleWidth
.Y = Rnd * Picture1.ScaleHeight
.Radius = Rnd * Picture1.ScaleX(10, vbPixels)
.CX = Rnd * Picture1.ScaleX(10, vbPixels)
.CY = Rnd * Picture1.ScaleY(10, vbPixels)
End With
Next

Picture1.AutoRedraw = True
Picture1.DrawStyle = vbSolid
Picture1.ForeColor = vbBlack

Picture1.FillStyle = vbFSSolid
Picture1.FillColor = vbYellow
End Sub

Private Sub Form_Resize()
Picture1.Move ScaleLeft, ScaleTop, ScaleWidth, ScaleHeight
End Sub

Private Sub Timer1_Timer()
Dim Index As Long
Dim NewX As Single
Dim NewY As Single
Picture1.Cls
For Index = 0 To 4
Randomize
With Circles(Index)
NewX = .X + .CX
If NewX > Picture1.ScaleWidth - .Radius Then
.CX = -.CX
NewX = Picture1.ScaleWidth - .Radius
ElseIf NewX < .Radius Then
.CX = -.CX
NewX = .Radius
End If
.X = NewX

NewY = .Y + .CY
If NewY > Picture1.ScaleHeight - .Radius Then
.CY = -.CY
NewY = Picture1.ScaleHeight - .Radius
ElseIf NewY < .Radius Then
.CY = -.CY
NewY = .Radius
End If
.Y = NewY
Picture1.Circle (NewX, NewY), .Radius
End With
Next
PaintPicture Picture1.Image, ScaleLeft, ScaleTop
End Sub
</code>


Svara

Sv: Flimrande rörelse

Postades av 2002-12-21 23:29:46 - Michael Dahlander

Hej!

Tack för din lösning men nog tycker jag det flimrar lite ändå. Om du gör Circle i en PictureBox eller i ett formulär har nog ingen betydelse. Sista raden 'PaintPicture Picture1.Image, ScaleLeft, ScaleTop' förstår jag inte. Den ritar ju bara ut bilden som finns i PictureBoxen på formuläret, UNDER PictureBoxen!! Ta bort denna rad och cirklarna visas precis som innan.

mvh
/Michael


Svara

Sv: Flimrande rörelse

Postades av 2002-12-21 23:35:05 - Andreas Hillqvist

Pictureboxen skall vara osynlig. Visible = false. Eftersom hela bilden uppdateras så komer det inte flimra på samma sätt som när du använder kontroller eller ritar direkt i formuläret.

När figurer överlappar varandra komer den underliggande att ritas sedan överliggande. Tror det är det som du stör dig på.


Svara

Sv: Flimrande rörelse

Postades av 2002-12-22 00:00:11 - Michael Dahlander

ok, jag förstår

mvh
/Michael


Svara

Sv: Flimrande rörelse

Postades av 2003-03-28 09:52:51 - Jens Jacobsson

Det viktigaste är att du har autoredraw på true
BitBlt är snabbare än paintpuicture men om du inte ska flytta så tung grafik gör det inte så stor skillnad


Svara

Nyligen

  • 19:42 Online Casinos for Haitian Players
  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 878
27 965
271 771
675
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies
Expand
next previous
Close

Previous

0/0

Next