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


Snabba på grafiken lite

Postades av 2007-11-01 14:07:38 - Jonatan Nyqvist, i forum vb.net, Tråden har 3 Kommentarer och lästs av 808 personer

Hej!
Sitter och skriver ett monopolspel för att lära mig jobba lite med grafik i vb, men undrar om någon har ett förslag på hur man kan snabba upp den här koden lite?

För tillfället använder jag bara en vanlig PictureBox som visar spelplanen, och sedan en klass för varje spelare.
Klassen håller reda på vilken bild den använder för att visa spelpjäsen, och i huvudfönstret går den för varje steg pjäserna tar igenom alla spelarnas pjäser och ritar ut dem på rätt ställe.

Förenklat ser koden ut i princip så här:

Public Sub UpdateForm(ByVal Player As Integer)
  Dim i, s as Integer 'for-next variabler
  Dim x, y as integer

  picBoard.Refresh() 'långsamt!
  For i = 0 to TotalPlayers 'Går igenom alla spelarna
    '... Lite kod för att räkna ut x och y (var spelpjäserna ska hamna) ...

    GameUser(i).Position = Border(GameUser(i).PlayerPosition).Position
    GameUser(i).DrawMark(picBoard.Handle, x,y)
  Next
End Sub


Sedan ser det ut så här i spelarens klass:
Public Sub DrawMark(ByVal WinHandle As System.IntPtr, ByVal BoardWidth As Integer, ByVal BoardHeight As Integer) 'Ritar ut spelpjäsen
  Dim GameGraphics As Graphics
  GameGraphics = Graphics.FromHwnd(WinHandle) 'Sätt grafiken på spelplanen (frmmain.picBoard)
  GameGraphics.DrawImage(Image, Position.X, Position.Y, BoardWidth, BoardHeight)
  GameGraphics.Dispose()
End Sub


Det slöar alltså ner jättemycket att behöva nollställa grafiken (picBoard.Refresh), och sedan lägga ut alla spelpjäser på rätt ställe igen för att spelet för varje liten rörelse på spelplanen.

Några tips på att snabba upp?


Svara

Sv: Snabba på grafiken lite

Postades av 2007-11-01 14:54:57 - Ola Lindfeldt

Använd sk double buffering.
Rita allt på en in-memory bitmap, ej picturebox.
När allt ritande är klar kopierar du hela bitmappen till pictureboxen.


Svara

Sv:Snabba på grafiken lite

Postades av 2007-11-01 14:56:24 - Jonatan Nyqvist

Låter bra!

Vill du vara god och föreslå med lite kod?


Svara

Sv: Snabba på grafiken lite

Postades av 2007-11-01 16:57:58 - Jonatan Nyqvist

Ah! Jag har det!


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

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 726
27 958
271 751
298
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