-
Advertisement
-
Popular Tags
-
Popular Now
-
Advertisement
-
Similar Content
-
By Kshitij Jhalak
Objective :
I want to draw a buffer of pixel (DWORD buf[WIDTH*HEIGHT]) to the whole client window. I am somewhat familiar with Winapi but not with GDI, reading the MSDN and other sources on the internet, I have came up with the following program.
Problem :
The code is not working. I have initialised all elements of my buffer ( buf[] ) to 0. So I should get a black screen on my window, but I getting a regular white window. Can somebody point me what's wrong am I doing ?
Code :
#include<Windows.h>
#include "stdafx.h"
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
const int HEIGHT = 512;
const int WIDTH = 512;
DWORD buf[WIDTH * HEIGHT];
BITMAPINFO bmi = { 0 };
HDC hWinDC = NULL;
HDC hbitDC = NULL;
HBITMAP hBitmap = NULL;
int WINAPI wWinMain(HINSTANCE hInstace, HINSTANCE hPrevInstace, LPWSTR lpCmdLine, int nCmdShow) {
memset(buf, 0, sizeof(buf)/sizeof(DWORD));
MSG msg = { 0 };
WNDCLASS wnd = { 0 };
wnd.lpfnWndProc = WndProc;
wnd.hInstance = hInstace;
wnd.lpszClassName = L"Window";
if (!RegisterClass(&wnd)) {
return 0;
}
HWND hwnd = CreateWindowEx(WS_EX_CLIENTEDGE, wnd.lpszClassName, L"Window",
WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, WIDTH, HEIGHT, NULL, NULL, hInstace, NULL);
if (!hwnd) {
return 0;
}
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);
while (GetMessage(&msg, NULL, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam){
HDC hWdc = NULL;
switch (msg){
case WM_CREATE:
bmi.bmiHeader.biSize = sizeof(BITMAPCOREHEADER);
bmi.bmiHeader.biWidth = WIDTH;
bmi.bmiHeader.biHeight = HEIGHT;
bmi.bmiHeader.biPlanes = 1;
bmi.bmiHeader.biBitCount = 32;
bmi.bmiHeader.biCompression = BI_RGB;
break;
case WM_PAINT:
PAINTSTRUCT ps;
hWdc = BeginPaint(hwnd, &ps);
hWinDC = GetDC(hwnd);
hbitDC = CreateCompatibleDC(hWinDC);
hBitmap = CreateDIBSection(hWinDC, &bmi, DIB_RGB_COLORS, (void**)&buf, NULL, NULL);
SelectObject(hbitDC, hBitmap);
BitBlt(hWdc, 0, 0, WIDTH, HEIGHT, hbitDC, 0, 0, SRCCOPY);
EndPaint(hwnd, &ps);
break;
case WM_KEYUP:
if (wParam == 0x41) {
SendMessage(hwnd, WM_PAINT, NULL, NULL);
}
break;
case WM_DESTROY:
DeleteDC(hbitDC);
ReleaseDC(hwnd, hWinDC);
PostQuitMessage(0);
break;
}
return DefWindowProc(hwnd, msg, wParam, lParam);
}
-
By eldwin11929
We're looking for a Unity (C#) Programmer for our 2D Project. We're looking for a new lead programmer to continue with an existing project.
Project is an open-world RTS, and is very close to a prototyping (playable) phase. Our existing lead, unfortunately, has no more time for the project, and thus we are in search of a new one who is interested.
Game is purely fantasy based, and we'll be able to give you much more detailed info about the project as we begin to work you into it.
You'll be working with our junior developer, who has been here since the beginning.
Primary skills needed are just being able to work within Unity. But skills within XML are also a plus.
Our list of major goals we'd need you to do is minimal, yet still fairly extensive:
-Edit our current Pathfinding system to account for a few extra features.
-Setup our global map system. You’ll be working off an existing random node-map web generator and existing random map generation system and essentially linking the two together. This includes handling random spawns (which has already been semi-setup) unique to each node’s respective map.
-Further implementation of an existing random spawning algorithm (used to spawn things like enemies randomly across the Map).
-Making sure to Save and Record all respective aspects of what was mentioned above.
-Handling our XML database- database is created, but we’ll need to be integrating it. This includes all various things from units to abilities and so forth. Will also need to handle implementing an object’s unique attributes we cannot take care of within XML.
-Various Content Implementation (to be done once our XML has been integrated).
-Various Saving and Recording of all respective aspects of the database info mentioned above.
-Various Performance Enhancements.
-Potential for various misc things, such as further UI work.
-Setting up a Menu system.
We have a considerable amount of things done already- however I must warn ahead of time we have quite a bit of unclean code, which may be fairly overwhelming for a new developer on the project.
Let me know your rates per hour, and we'll see if we can work out a good deal between both of us. Royalties are also included.
If interested, send an email to: eldwin11929@yahoo.com
Thanks!
-
By Ronan Hayes
So i am working on a java swing breakout game and am on the last task to complete, which is detecting collision with a brick and then deleting it from the array so it cannot be seen on the screen. I have created a for loop which is somewhat working however the ball bounces off the bat/paddle and goes straight through the first few rows of bricks and then start to detect only the rows around the 6/7th row. Here is the loop i am working on.
public void runAsSeparateThread() { final float S = 3; // Units to move (Speed) try { synchronized ( Model.class ) // Make thread safe { GameObj ball = getBall(); // Ball in game GameObj bat = getBat(); // Bat ArrayList<GameObj> bricks = getBricks(); // Bricks } while (runGame) { synchronized ( Model.class ) // Make thread safe { float x = ball.getX(); // Current x,y position float y = ball.getY(); // Deal with possible edge of board hit if (x >= W - B - BALL_SIZE) ball.changeDirectionX(); if (x <= 0 + B ) ball.changeDirectionX(); if (y >= H - B - BALL_SIZE) // Bottom { ball.changeDirectionY(); addToScore( HIT_BOTTOM ); } if (y <= 0 + M ) ball.changeDirectionY(); // As only a hit on the bat/ball is detected it is // assumed to be on the top or bottom of the object. // A hit on the left or right of the object // has an interesting affect boolean hit = false; // *[3]******************************************************[3]* // * Fill in code to check if a visible brick has been hit * // * The ball has no effect on an invisible brick * // ************************************************************** for ( int i = 0; i <= 60; i++ ){ GameObj brick1 = bricks.get(i); if ( brick1.hitBy(ball) ){ bricks.remove(i); //hit = true; ball.changeDirectionY(); //ball.changeDirectionX(); addToScore(50); } } if (hit) ball.changeDirectionY(); if ( ball.hitBy(bat) ) ball.changeDirectionY(); } modelChanged(); // Model changed refresh screen Thread.sleep( fast ? 2 : 20 ); ball.moveX(S); ball.moveY(S); } } catch (Exception e) { Debug.error("Model.runAsSeparateThread - Error\n%s", e.getMessage() ); } } } i need to be able to break each brick individually and for them to rebound ... this is the code that i am working with so far
for ( int i = 0; i <= 60; i++ ){ GameObj brick1 = bricks.get(i); if ( brick1.hitBy(ball) ){ bricks.remove(i); //hit = true; ball.changeDirectionY(); //ball.changeDirectionX(); addToScore(50); } }
-
By DecoDy Studio
Hello all
I am currently, and after long time thinking and planning, looking for enthusiast people to be part of a team to develop games, my idea is to build a game studio although I am in a very early stage. As a lot of work is needed to be done I need people to participate and be part of this long term project, I can't do everything and I don't have the knowledge to complete all the work needed for games.
My first idea is to develop Mobile Games and in particular VR / AR games, I've built a prototype in ARKit with Unity and I have also a couple of games ideas which could be the first games to be released. To do that, I am looking in the short term for developers and creative people (designers, concept artists, etc.) and in the long term musicians, marketing, business development, etc. It is not required a previous experience as I am planning to release first small games while the team is learning and getting the experience to do make bigger games every time we do a new one.
If this sounds interesting to you and you want to know more, send me a private message and I will be more than happy to talk.
DS
-
-
Advertisement