예제 #1
0
std::string GameState::getProp(std::string target, std::string type){
	if(target == "stage" || target == "" || target == "window" || target == "screen" || target == "null"){
		if(type == "width"){
			return std::to_string((long long)width);    //TODO FIX THIS NOAW;
		}else if(type == "height"){
			return std::to_string((long long)height);    //TODO FIIIXIXIX THISS TOOOO SFSA+ FSEGE
		}if(type == "mousex" || type == "mouseX"){
			sf::Vector2i localPosition = sf::Mouse::getPosition(*window);
			return std::to_string(localPosition.x);
		}if(type == "mousey" || type == "mouseY"){
			sf::Vector2i localPosition = sf::Mouse::getPosition(*window);
			return std::to_string(localPosition.y);
		}
	}else{
		if(type == "width"){
			return 0;
		}else if(type == "height"){
			return 0;
		}if(type == "xpos" || type == "x"){
			return std::to_string(findSprite(target)->getX());
			std::printf("xolo");
		}if(type == "ypos" || type == "y"){
			return std::to_string(findSprite(target)->getY());
		}
	}

	return "err";
}
예제 #2
0
void GameState::setProp(std::string target, std::string type){
	if(target == "stage" || target == "" || target == "window" || target == "screen" || target == "null"){

	}else{
		if(type == "xpos" || type == "x"){
			findSprite(target)->getX();
		}if(type == "ypos" || type == "y"){
			findSprite(target)->getY();
		}
	}
}
예제 #3
0
파일: menu.cpp 프로젝트: jbradish/nikwi
MenuScreen::MenuScreen()
{
	background = loadImage("data/objects/title.ut");
	paused = loadImage("data/objects/paused.ut");
	pwdBack = loadImage("data/objects/pwd2.ut");
	pwdMode = false;
	dot = findSprite("dot");
	sprite = NULL;
	spriteState = NULL;
	opt = 0;
	a = 0;
	y = ty = 240;
}
예제 #4
0
파일: menu.cpp 프로젝트: jbradish/nikwi
void MenuScreen::draw()
{
	if (SDL_BlitSurface(background, NULL, screen, NULL) != 0)
	{
		SDL_FreeSurface(background);
		background = loadImage("data/objects/title.ut");
		SDL_Delay(100);
		draw();
		return;
	}
	if (game->playing)
	{
		SDL_Rect	r;
		if (((pausedShow/20) % 4))
		{
			r.x = 160;
			r.y = 397;
			if (SDL_BlitSurface(paused, NULL, screen, &r) != 0)
			{
				SDL_FreeSurface(paused);
				paused = loadImage("data/objects/paused.ut");
				SDL_Delay(100);
				draw();
				return;
			}
		}
	}
	switch (opt)
	{
		case 0:
			ty = 240;
			break;
		case 1:
			ty = 274;
			break;
		case 2:
			ty = 308;
			break;
		case 3:
			ty = 342;
			break;
	}
	if (!sprite)
	{
		sprite = findSprite("candy1");
		spriteState = new SpriteState(sprite);
	}
	spriteState->mirror = false;
	spriteState->draw(200, y-3+sin(a)*2);
	spriteState->mirror = true;
	spriteState->draw(411, y-3+sin(a)*2);
	if (pwdMode)
	{
		SDL_Rect	r;
		int		x = 224;
		r.x = 129;
		r.y = 200;
		if (SDL_BlitSurface(pwdBack, NULL, screen, &r) != 0)
		{
			SDL_FreeSurface(pwdBack);
			pwdBack = loadImage("data/objects/pwd2.ut");
			SDL_Delay(100);
			draw();
			return;
		}
		for (int i=0;i<pwdLen;i++,x+=32)
			dot->frame[0]->draw(x, 270, false);
	}
}
예제 #5
0
void GameState::interpolateSprite(std::string target, int destX, int destY, float speed){
	findSprite(target)->setInterpolate(destX, destY, speed);
}