Du bist nicht angemeldet.

gogogigo

Registrierter Benutzer

  • »gogogigo« ist männlich
  • »gogogigo« ist der Autor dieses Themas

Beiträge: 348

Dabei seit: 14. August 2007

Frühere Benutzernamen: gogogigo

Hilfreich-Bewertungen: 17

  • Private Nachricht senden

1

Mittwoch, 8. April 2009, 22:00

Alle Einblendeffekte kombiniert

Schon wieder ein neuer Einblendeffekt. Diesmal ist er aber aus den Ideen der vorig geposteten Effekten kombiniert und teilweise erweitert worden. (kevin89 , nikeee13 , xANONYMx)
Daher noch einmal ein großes Dankeschön an euch 3. :D


Hier der Quellcode:

Visual Basic Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    	Const speed As Int16 = 100 ' um so niedriger der Wert, um so schneller öffnet sich die Form

    	Dim origbackcolor As Color = Me.BackColor
    	Dim origsize As Size = Me.Size
    	Dim origloc As Point = Me.Location
    	For i As Integer = 1 To speed
        	Threading.Thread.Sleep(5) ' Um Abstand zu halten. Am besten nicht ändern!
        	Me.Opacity = i / speed
        	If i <= speed / 3 Then
            	Me.BackColor = Color.FromArgb(Int(255 - i * (255 / speed * 3)), 0, Int(i * (255 / speed * 3)))
        	ElseIf i > speed / 3 And i <= speed * 2 / 3 Then
            	Me.BackColor = Color.FromArgb(0, Int(i * (255 / speed * 3)) - 255, Int(255 - i * (255 / speed * 3)) + 255)
        	ElseIf i > speed * 2 / 3 And i <= speed Then
            	Me.BackColor = Color.FromArgb(origbackcolor.R * (i - speed * 2 / 3) / (speed / 3), 255 - (255 - origbackcolor.G) * (i - speed * 2 / 3) / (speed / 3), origbackcolor.B * (i - speed * 2 / 3) / (speed / 3))
        	End If

        	Me.Size = New Size(origsize.Width / 2 + i / speed * origsize.Width / 2, origsize.Height / 2 + i / speed * origsize.Height / 2)
        	Me.Location = New Point(origloc.X + origsize.Width / 2 - Me.Width / 2, origloc.Y + origsize.Height / 2 - Me.Height / 2)
        	Me.Refresh()
    	Next


- Opacity steigert sich
- Form vergrößert sich von der Hälfte der Originalgröße bis zur vollen Originalgröße
- "weicher" Farbübergang: Rot -> Blau -> Grün -> OriginalBackgroundColor
Gruß yeti

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »gogogigo« (8. April 2009, 22:07)


nikeee13

wegen des metrischen Systems

  • »nikeee13« ist männlich

Beiträge: 866

Dabei seit: 20. Februar 2009

Wohnort: Einbecker Bier!

Hilfreich-Bewertungen: 531

  • Private Nachricht senden

2

Mittwoch, 8. April 2009, 22:22

ich finde, das einblenden dauert etwas zu lange, das kann man ja leicht ändern.
Sonst ist der Effekt aber recht in ordnung.

xANONYMx

Registrierter Benutzer

  • »xANONYMx« ist männlich

Beiträge: 26

Dabei seit: 20. Februar 2009

Wohnort: Saarbrücken

  • Private Nachricht senden

3

Donnerstag, 9. April 2009, 03:49

Ich finde das Total klasse gefällt mir ;D
Weiter So!
mfg
Das denken der Zukunft muss Kriege unmöglich machen.
Albert Einstein

Denny

Registrierter Benutzer

  • »Denny« ist männlich

Beiträge: 478

Dabei seit: 31. Juli 2008

Wohnort: Berlin

Hilfreich-Bewertungen: 9

  • Private Nachricht senden

4

Freitag, 10. April 2009, 11:24

hier sind mal 2 aufeinander abgestimmte einblend- und ausblendeffekte:
das mit dem backgroundcolor hab ich entfernt

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
  'einblenden
        Const speed As Int16 = 50 ' um so niedriger der Wert, um so schneller öffnet sich die Form

        Dim origsize As Size = Me.Size
        Dim origloc As Point = Me.Location
        For i As Integer = 1 To speed
            Threading.Thread.Sleep(5) ' Um Abstand zu halten. Am besten nicht ändern!
            Me.Opacity = i / speed

            Me.Size = New Size(origsize.Width / 2 + i / speed * origsize.Width / 2, origsize.Height / 2 + i / speed * origsize.Height / 2)
            Me.Location = New Point(origloc.X + origsize.Width / 2 - Me.Width / 2, origloc.Y + origsize.Height / 2 - Me.Height / 2)
            Me.Refresh()
        Next


Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
   'ausblenden
        Const speed As Int16 = 50 ' um so niedriger der Wert, um so schneller öffnet sich die Form

        Dim origsize As Size = Me.Size
        Dim origloc As Point = Me.Location
        For i As Integer = speed To 1 Step -1
            Threading.Thread.Sleep(5) ' Um Abstand zu halten. Am besten nicht ändern!
            Me.Opacity = i / speed

            Me.Size = New Size(origsize.Width / 2 + i / speed * origsize.Width / 2, origsize.Height / 2 + i / speed * origsize.Height / 2)
            Me.Location = New Point(origloc.X + origsize.Width / 2 - Me.Width / 2, origloc.Y + origsize.Height / 2 - Me.Height / 2)
            Me.Refresh()
            If i = 1 Then Me.Close()
        Next

Devilx1

Traceur

  • »Devilx1« ist männlich

Beiträge: 882

Dabei seit: 7. Dezember 2008

Wohnort: Reutlingen

Hilfreich-Bewertungen: 13

  • Private Nachricht senden

5

Freitag, 10. April 2009, 12:53

gefällt mir gut denny, das einzige was vielleicht noch etwas nervt ist sobald das fenster größer ist als 300 * 300 fängt er beim einblenden hässlig an zu flackern an den seiten
Parkour Reutlingen -Professional Parkour & Freerunning
Parkour-Reutlingen.de / Marius-Mohr.de / Dev-Webdesign.de

Lin

Registrierter Benutzer

Beiträge: 43

Dabei seit: 4. März 2007

  • Private Nachricht senden

6

Sonntag, 12. April 2009, 23:21

Hi,
ich wollte nur gerade kurz ne Kleine Fehlerkorrektur geben:

Visual Basic Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
'ausblenden
        Const speed As Int16 = 50 ' um so niedriger der Wert, um so schneller öffnet sich die Form

        Dim origsize As Size = Me.Size
        Dim origloc As Point = Me.Location
        For i As Integer = speed To 1 Step -1
            Threading.Thread.Sleep(5) ' Um Abstand zu halten. Am besten nicht ändern!
            Me.Opacity = i / speed

            Me.Size = New Size(origsize.Width / 2 + i / speed * origsize.Width / 2, origsize.Height / 2 + i / speed * origsize.Height / 2)
            Me.Location = New Point(origloc.X + origsize.Width / 2 - Me.Width / 2, origloc.Y + origsize.Height / 2 - Me.Height / 2)
            Me.Refresh()
            If i = 1 Then Me.Close()
        Next


Wenn das so gestartet wird verkleinert sich das Form zwar bleibt aber immer so klein und blinkt - funktioniert also nicht - der Fehler ist ganz Simpel:
Du setzt hier ja in FormClosing an, das heißt wenn du wie es ganz unten steht sagst wenn i eins ist dann schließe mich - das ganze befindet sich schon in der Schließung Instanz weshalb sich das ganze immer wiederholt und deshalb nicht klappen kann (If i = 1 Then Me.Close() )
Also diese Zeile:

Visual Basic Quellcode

1
If i = 1 Then Me.Close()

durch:

Visual Basic Quellcode

1
If i = 1 Then End

ersetzen!
Gruß,
Lin

Cross

Designer / Html / Css / JavaScript

Beiträge: 283

Hilfreich-Bewertungen: 15

  • Private Nachricht senden

7

Montag, 23. August 2010, 20:35

Cool Danke

  • »DJxTobi« ist männlich

Beiträge: 89

Dabei seit: 22. August 2010

Wohnort: C:\Users\Tobias

Frühere Benutzernamen: TobixDDD

Hilfreich-Bewertungen: 1

  • Private Nachricht senden

8

Dienstag, 24. August 2010, 12:50

Echt Coole Efekte doch eine Sache "stört" mich noch und zwar die Farben beim einblenden kann man die ändern?
Die zehn Gebote Gottes enthalten 279 Wörter,
die amerikanische Unabhängigkeitserklärung 300 Wörter,
die Verordnung der europäischen Gemeinschaft über den Import von Karamelbonbons aber exakt 25911 Wörter.

stevenart

alias StevenArt.de

  • »stevenart« ist männlich

Beiträge: 76

Dabei seit: 5. Juni 2010

Wohnort: Duetschland.exe

Hilfreich-Bewertungen: 4

  • Private Nachricht senden

9

Freitag, 27. August 2010, 01:55

ist des eiglich extra so dass am ende der Inhalt der Form verkleinert wird und dabei eder Text: "(Keine Rückmeldung)" im Titel hinzugefügt wird

mottzi

CSS wird überbewertet. 1.6 ist besser...

  • »mottzi« ist männlich

Beiträge: 447

Dabei seit: 18. Oktober 2008

Wohnort: Basel

Hilfreich-Bewertungen: 33

  • Private Nachricht senden

10

Sonntag, 29. August 2010, 11:08

Also diese Zeile:
If i = 1 Then Me.Close()

durch:

If i = 1 Then End

ersetzen!


End ist nicht gut, da der speicher, der das Programm benutzt so nicht wieder freigegeben wird.

applikation.exit() ist da besser.
Windows ist wie ein U-Boot... ;) Macht man ein Fenster auf, kommen die Probleme von alleine.