示例#1
0
文件: level1.c 项目: Lodus/SuperDerpy
void Level1_Load(struct Game *game) {
	Dodger_Load(game);
	TM_AddBackgroundAction(&FadeIn, NULL, 0, "fadein");
	TM_AddDelay(1000);
	TM_AddQueuedBackgroundAction(&Welcome, NULL, 0, "welcome");
	TM_AddDelay(1000);
	TM_AddAction(&Walk, NULL, "walk");
	TM_AddAction(&Move, NULL, "move");
	TM_AddAction(&Stop, NULL, "stop");
	TM_AddDelay(1000);
	TM_AddAction(&Letter, NULL, "letter");
	TM_AddDelay(200);
	TM_AddQueuedBackgroundAction(&Accelerate, NULL, 0, "accelerate");
	TM_AddAction(&Fly, NULL, "fly");
	TM_AddDelay(500);
	/* first part gameplay goes here */

	/* actions for generating obstacles should go here
	* probably as regular actions. When one ends, harder one
	* begins. After last one part with muffins starts. */
	TM_AddAction(&GenerateObstacles, NULL, "obstacles");
	TM_AddDelay(3*1000);
	/* wings disappear, deccelerate */
	TM_AddAction(&Run, NULL, "run");
	TM_AddDelay(3*1000);
	/* show Fluttershy's house

	// second part gameplay goes here

	// cutscene goes here */
	TM_AddAction(&PassLevel, NULL, "passlevel");

	// init level specific obstacle for Dodger module
	struct Obstacle *obst = malloc(sizeof(struct Obstacle));
	obst->prev = NULL;
	obst->next = NULL;
	obst->x = 83.5;
	obst->y = 55;
	obst->speed = 1;
	obst->points = 0;
	obst->hit = false;
	obst->rows = 1;
	obst->cols = 1;
	obst->pos = 0;
	obst->blanks = 0;
	obst->anim_speed = 0;
	obst->tmp_pos = 0;
	obst->angle = 0;
	obst->callback = NULL;
	obst->data = NULL;
	obst->bitmap = &(game->level.level1.owl);
	game->level.dodger.obstacles = obst;
}
示例#2
0
void Gamestate_Start(struct Game *game, struct GamestateResources* data) {
	data->pos = 1;
	data->fade = 0;
	data->tan = 64;
	data->tick = 0;
	data->fadeout = false;
	data->underscore=true;
	strcpy(data->text, "#");
	TM_AddDelay(data->timeline, 300);
	TM_AddQueuedBackgroundAction(data->timeline, FadeIn, TM_AddToArgs(NULL, 1, data), 0, "fadein");
	TM_AddDelay(data->timeline, 1500);
	TM_AddAction(data->timeline, Play, TM_AddToArgs(NULL, 1, data->kbd), "playkbd");
	TM_AddQueuedBackgroundAction(data->timeline, Type, TM_AddToArgs(NULL, 1, data), 0, "type");
	TM_AddDelay(data->timeline, 3200);
	TM_AddAction(data->timeline, Play, TM_AddToArgs(NULL, 1, data->key), "playkey");
	TM_AddDelay(data->timeline, 50);
	TM_AddAction(data->timeline, FadeOut, TM_AddToArgs(NULL, 1, data), "fadeout");
	TM_AddDelay(data->timeline, 1000);
	TM_AddAction(data->timeline, End, NULL, "end");
	al_play_sample_instance(data->sound);
}