Go Back   CodingForums.com > :: Server side development > ASP.NET

Before you post, read our: Rules & Posting Guidelines

Reply
 
Thread Tools Rate Thread
Enjoy an ad free experience by logging in. Not a member yet? Register.
Old 04-05-2012, 12:07 AM   PM User | #1
Sylvain_
New Coder

 
Join Date: Apr 2012
Posts: 14
Thanks: 2
Thanked 0 Times in 0 Posts
Sylvain_ is an unknown quantity at this point
Visual Studio 2010 rendering problem

I have a problem with a Pong application i want to make in VS2010. The problem is I want to change the colors of the background of the form, the rectangles and the ellipse everytime a timer ticks. My code seems logic, however, when I try to run, my form turns immediately black. The code is shown below.


'needed for dispatchertimer

Imports System.Windows.Threading

Class MainWindow

'private declarations

Private WithEvents tmrTimer As New DispatcherTimer
Private clrColorBackground As New Color
Private clrColorRectangle As New Color
Private clrColorBall As New Color
Private rndRandom As New Random

Private iBr, iBg, iBb, iRr, iRg, iRb, iOr, iOg, iOb As Byte


Private Sub tmrTimer_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles tmrTimer.Tick
'subroutines are called within a VS2010 generated method, it's my style of programming
toggleColor()
setColor()
End Sub


Private Sub MainWindow_Loaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded

'subroutines are called within a VS2010 generated method

defaultColors()

initTimer()

End Sub

Private Sub initTimer()
tmrTimer.Interval = TimeSpan.FromMilliseconds(1000)

tmrTimer.Start()
End Sub

Private Sub defaultColors()
'set default background color

clrColorBackground.R = rndRandom.Next(35, 221)
clrColorBackground.G = rndRandom.Next(35, 221)
clrColorBackground.B = rndRandom.Next(35, 221)

'set default rectangle color

clrColorRectangle.R = rndRandom.Next(35, 221)
clrColorRectangle.G = rndRandom.Next(35, 221)
clrColorRectangle.B = rndRandom.Next(35, 221)

'set default ball color

clrColorBall.R = rndRandom.Next(35, 221)
clrColorBall.G = rndRandom.Next(35, 221)
clrColorBall.B = rndRandom.Next(35, 221)
End Sub

Private Sub toggleColor()

'set red property background
'the following code is repeated for every rgb-part of each control(background, rectangles, ball)

If clrColorBackground.R > 35 And iBr Mod 2 = 0 Then
clrColorBackground.R -= 1
End If

If clrColorBackground.R = 35 Then
iBr += 1
End If

If clrColorBackground.R < 220 And iBr Mod 2 = 1 Then
clrColorBackground.R += 1
End If

If clrColorBackground.R = 220 Then
iBr += 1
End If

'set green property background

If clrColorBackground.G > 35 And iBg Mod 2 = 0 Then
clrColorBackground.G -= 1
End If

If clrColorBackground.G = 35 Then
iBg += 1
End If

If clrColorBackground.G < 220 And iBg Mod 2 = 1 Then
clrColorBackground.G += 1
End If

If clrColorBackground.G = 220 Then
iBg += 1
End If

'set blue property background

If clrColorBackground.B > 35 And iBb Mod 2 = 0 Then
clrColorBackground.B -= 1
End If

If clrColorBackground.B = 35 Then
iBb += 1
End If

If clrColorBackground.B < 220 And iBb Mod 2 = 1 Then
clrColorBackground.B += 1
End If

If clrColorBackground.B = 220 Then
iBb += 1
End If

'set red property rectangle

If clrColorRectangle.R > 35 And iRr Mod 2 = 0 Then
clrColorRectangle.R -= 1
End If

If clrColorRectangle.R = 35 Then
iRr += 1
End If

If clrColorRectangle.R < 220 And iRr Mod 2 = 1 Then
clrColorRectangle.R += 1
End If

If clrColorRectangle.R = 220 Then
iRr += 1
End If

'set green property rectangle

If clrColorRectangle.G > 35 And iRg Mod 2 = 0 Then
clrColorRectangle.G -= 1
End If

If clrColorRectangle.G = 35 Then
iRg += 1
End If

If clrColorRectangle.G < 220 And iRg Mod 2 = 1 Then
clrColorRectangle.G += 1
End If

If clrColorRectangle.G = 220 Then
iRg += 1
End If

'set blue property rectangle

If clrColorRectangle.B > 35 And iRb Mod 2 = 0 Then
clrColorRectangle.B -= 1
End If

If clrColorRectangle.B = 35 Then
iRb += 1
End If

If clrColorRectangle.B < 220 And iRb Mod 2 = 1 Then
clrColorRectangle.B += 1
End If

If clrColorRectangle.B = 220 Then
iRb += 1
End If

'set red property ball


If clrColorBall.R > 35 And iOr Mod 2 = 0 Then
clrColorBall.R -= 1
End If

If clrColorBall.R = 35 Then
iOr += 1
End If

If clrColorBall.R < 220 And iOr Mod 2 = 1 Then
clrColorBall.R += 1
End If

If clrColorBall.R = 220 Then
iOr += 1
End If

'set green property ball

If clrColorBall.G > 35 And iOg Mod 2 = 0 Then
clrColorBall.G -= 1
End If

If clrColorBall.G = 35 Then
iOg += 1
End If

If clrColorBall.G < 220 And iOg Mod 2 = 1 Then
clrColorBall.G += 1
End If

If clrColorBall.G = 220 Then
iOg += 1
End If

'set blue property ball

If clrColorBall.B > 35 And iOb Mod 2 = 0 Then
clrColorBall.B -= 1
End If

If clrColorBall.B = 35 Then
iOb += 1
End If

If clrColorBall.B < 220 And iOb Mod 2 = 1 Then
clrColorBall.B += 1
End If

If clrColorBall.B = 220 Then
iOb += 1
End If

End Sub

Private Sub setColor()
Dim br As New SolidColorBrush

'fill background

br.Color = clrColorBackground
Me.Background = br

'fill ball

br.Color = clrColorBall
ellBall.Fill = br

'fill rectangle

br.Color = clrColorRectangle
rctP1.Fill = br
rctP2.Fill = br

End Sub
End Class
Sylvain_ is offline   Reply With Quote
Reply

Bookmarks

Tags
color, pong, vb.net, visual studio

Jump To Top of Thread


Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 10:43 AM.


Advertisement
Log in to turn off these ads.