vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: wand verhalten programmieren 
Autor: marvin_94
Datum: 14.10.10 14:46

Ach ja: wenn man an der wand vorbeiziehen will, muss man immer (speed / 1.1) an der stelle, wo es nach aus definiert wird entfernen, und an dem anderen ort durch (speed / 2.1) ersetzten, hier noch mal der perfekte code, noch mal überarbeite, jetzt geht er astrein, soweit jedenfalls meiene test, der speed, darf einfach nicht mehr als halbso gross sein wie die wand breit

Public Sub wldefy(mle As Control, wl As Control, lblock As Boolean, rblock As Boolean, _
ublock As Boolean, dblock As Boolean, speed As Integer)

'objekt unten blockieren
'der obereblock schiebt das objekt zurück, sobald es ein gewisse Nähe zur wand hat.
If mle.Top + mle.Height > wl.Top - (speed / 1.1) And (mle.Top + mle.Height) < wl.Top + (speed / 1.1) And _
wl.Left < mle.Left + mle.Width And wl.Left + wl.Width > mle.Left Then mle.Top = wl.Top - mle.Height
'Der untere block
' fixiert das objekt dort
If mle.Top + mle.Height = wl.Top And _
wl.Left < mle.Left + mle.Width And wl.Left + wl.Width > mle.Left Then dblock = True
'objekt oben blockieren
If mle.Top > wl.Top + wl.Height - (speed / 1.1) And (mle.Top) < wl.Top + wl.Height + (speed / 1.1) And _
wl.Left < mle.Left + mle.Width And wl.Left + wl.Width > mle.Left Then mle.Top = wl.Top - (-wl.Height)
If mle.Top = wl.Top + wl.Height And _
wl.Left < mle.Left + mle.Width And wl.Left + wl.Width > mle.Left Then ublock = True
'objekt links blockieren
If mle.Left > wl.Left + wl.Width - (speed / 1.1) And (mle.Left) < wl.Left + wl.Width + (speed / 1.1) And _
wl.Top < mle.Top + mle.Height And wl.Top + wl.Height > mle.Top Then mle.Left = wl.Left + (wl.Width)
If mle.Left = wl.Left + wl.Width And _
wl.Top < mle.Top + mle.Height And wl.Top + wl.Height > mle.Top Then lblock = True
'objekt rechts blockieren
If mle.Left + mle.Height > wl.Left - (speed / 1.1) And mle.Left + mle.Height < wl.Left + (speed / 1.1) And _
wl.Top < mle.Top + mle.Height And wl.Top + wl.Height > mle.Top Then mle.Left = wl.Left - mle.Width
If mle.Left + mle.Width = wl.Left And _
wl.Top < mle.Top + mle.Height And wl.Top + wl.Height > mle.Top Then rblock = True

End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
wand verhalten programmieren1.642marvin_9407.09.10 20:09
Re: wand verhalten programmieren1.195Zardoz07.09.10 20:46
Re: wand verhalten programmieren1.306marvin_9407.09.10 20:59
Re: wand verhalten programmieren1.205Zardoz07.09.10 21:10
Re: wand verhalten programmieren1.134marvin_9407.09.10 21:12
Re: wand verhalten programmieren1.219bitstash08.09.10 13:01
Re: wand verhalten programmieren1.059marvin_9413.10.10 16:03
Re: wand verhalten programmieren1.084marvin_9413.10.10 16:39
Re: wand verhalten programmieren1.053Dirk13.10.10 20:19
Re: wand verhalten programmieren1.108marvin_9413.10.10 21:44
[OT] Re: wand verhalten programmieren1.054Dirk14.10.10 07:24
Re: wand verhalten programmieren1.054marvin_9414.10.10 14:46

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel