Archief - C#: Label locatie aanpassen

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Rage

Legacy Member
Als ik een nieuwe waarde aan label1.Location.Y wil toekennen dan krijg ik de error: Cannot modify because .... not a variable.

Ik zou graag een bewegende label willen maken die van boven tot onder beweegt op mijn form.

Ik werk met Ms Visual C# 2008 express edition.

Hoe ga ik dan te werk?

Cycloon

Legacy Member
Je kan geen waarde apart aanpassen vermits dat read-only properties zijn. Je kan wel het volgende doen:

Code:
label1.Location = new Point(label1.Location.X, nieuwe_waarde);

MacK

Legacy Member
Leuk spelletje. Tof om je hoofdrekenen nog eens te oefenen. T mag wel wat moeilijker worden naarmate het spelverloop vordert. Misschien ook aftrekken toevoegen, en in latere levels vermenigvuldigen en delen. En grotere getallen gebruiken enzo.

Good job trouwens want ik vind het wel tof.

*edit* whoops, sry. Volledig overgekeken dat je de moeilijkheidsgraad enzo, kan aanpassen.

Rage

Legacy Member
MacK zei:
Leuk spelletje. Tof om je hoofdrekenen nog eens te oefenen. T mag wel wat moeilijker worden naarmate het spelverloop vordert. Misschien ook aftrekken toevoegen, en in latere levels vermenigvuldigen en delen. En grotere getallen gebruiken enzo.

Good job trouwens want ik vind het wel tof.

Ge kunt bij opties vanal instellen (Snelheid, moeilijkheidsgraad, operaties)

Ik heb al iets nieuws: http://users.skynet.be/rage/racegame.rar

Het is een zowat een droom van mij om zelf spellekes te maken, maar dan moet ik nog veel leren :crazy:

design1

Legacy Member
Inderdaad nog chic spelletje :) en tzieter nog mooi uit ook nice!

Vraagje ik zie dat je zo constant de achtergrond laat bewegen zo dat groene en witte veld zo waar tussen je moet rijden. Hoe doe je dat ongeveer?

Groeten

Moto

Legacy Member
Het is een zowat een droom van mij om zelf spellekes te maken, maar dan moet ik nog veel leren
Ja, maar ge hebt het belangrijkste zo te zien al geleerd, namelijk klein beginnen en niet direkt te veel hooi op uw vork nemen.
Zijn der zo velen die als eerste game een full-conversion mod of zelfs een MMORPG kiezen, waarvan we dan nooit meer iets terughoren :)

trouwens voor C# -> xna eens bekijken heh :)

Rage

Legacy Member
design1 zei:
Inderdaad nog chic spelletje :) en tzieter nog mooi uit ook nice!

Vraagje ik zie dat je zo constant de achtergrond laat bewegen zo dat groene en witte veld zo waar tussen je moet rijden. Hoe doe je dat ongeveer?

Groeten

De achtergrond beweegt niet echt. Bij elke tick van de timer wordt het scherm opnieuw getekend. (Daarom dat het zo flikkert)

Voor dat scherm te tekenen heb ik telkens 2 x-coordinaten nodig. (Ene waar het groen eindigt en ene waar het groen weer begint). Het eerste paar coordinaten staat vast (klik maar een paar keer op start spel, dan ziet ge dat de eerste 'rij' altijd hetzelfde is)

De andere coordinaten worden random gegenereerd maar daar hangen een aantal voorwaarden aan vast. (Weg mag niet te smal worden, de grenzen, ....)

Elke keer als de timer tikt dan schuiven alle coordinaten 1 plaats omhoog in de arrays en er wordt er een nieuw paar coordinaten gemaakt

Moto zei:
Ja, maar ge hebt het belangrijkste zo te zien al geleerd, namelijk klein beginnen en niet direkt te veel hooi op uw vork nemen.
Zijn der zo velen die als eerste game een full-conversion mod of zelfs een MMORPG kiezen, waarvan we dan nooit meer iets terughoren :)

trouwens voor C# -> xna eens bekijken heh :)

Die xna ziet er interessant uit, merci !

Kemblin

Legacy Member
om die flikkeringen te voorkomen, kunt ge niet een (bitmap?) buffer maken zodat alles eerst berekend wordt en dan ineens de hele buffer wordt getekend op het scherm?

Voor de rest, leuk gedaan :)

Cycloon

Legacy Member
Zijn probleem is dat hij labels gebruikt voor elk vakje (vermoed ik) waardoor je dat geflikker krijgt, die labels aanmaken en vullen is nogal een heftig iets. Mocht hij dit werkelijk tekenen dan had hij daar minder last van gehad.

Rage

Legacy Member
Cycloon zei:
Zijn probleem is dat hij labels gebruikt voor elk vakje (vermoed ik) waardoor je dat geflikker krijgt, die labels aanmaken en vullen is nogal een heftig iets. Mocht hij dit werkelijk tekenen dan had hij daar minder last van gehad.

nee, dat zijn geen labels

De reden dat het zo flikkert is omdat ik enkel groene blokken teken. Dat grijs in het midden is gewoon niets. Ik moet daarom elke keer het scherm volledig leegmaken en dan opnieuw tekenen. Ik had best ook dat grijs getekend zodat ik gewoon erover kon tekenen

Dus bij elke tick:
Code:
newdot.Clear(this.BackColor);  //scherm leegmaken

for (int i = 0; i < 30; i++) //scherm tekenen
            {

                newdot.FillRectangle(bgroen, 8, cy, xcoord[i] - 8, 8);
                newdot.FillRectangle(bgroen, xcoord2[i], cy, 256 - xcoord2[i], 8);
                cy += 8;
            }

moest ik nu het grijs ook tekenen, dat hoefde ik het scherm niet leeg te maken en zou het scherm niet flikkeren

Cycloon

Legacy Member
Oh ok :)

Je kan ook werken met DoubleBuffered, dan heb je dit soort problemen niet ;)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan